summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py
diff options
context:
space:
mode:
authorAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-10-25 08:27:42 +0000
committerAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-10-25 08:27:42 +0000
commitc1c0fac76595da4a46db30da68e8444b9d1e3521 (patch)
tree9f887ff9a3d2d913ceb8c782934d0fd9215ee185 /lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py
parentb4b6ec01c6d1c6f15da65c37be9ffa2482712e7f (diff)
downloadbcm5719-llvm-c1c0fac76595da4a46db30da68e8444b9d1e3521.tar.gz
bcm5719-llvm-c1c0fac76595da4a46db30da68e8444b9d1e3521.zip
[API] Extend the `SBThreadPlan` interface
Summary: This patch extends the `SBThreadPlan` to allow retrieving of thread plans for scripted steps. Reviewers: labath, zturner, jingham Reviewed By: jingham Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D53361 llvm-svn: 345247
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py b/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py
new file mode 100644
index 00000000000..1383a03f464
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py
@@ -0,0 +1,37 @@
+import lldb
+
+class StepWithChild:
+ def __init__(self, thread_plan):
+ self.thread_plan = thread_plan
+ self.child_thread_plan = self.queue_child_thread_plan()
+
+ def explains_stop(self, event):
+ return False
+
+ def should_stop(self, event):
+ if not self.child_thread_plan.IsPlanComplete():
+ return False
+
+ self.thread_plan.SetPlanComplete(True)
+
+ return True
+
+ def should_step(self):
+ return False
+
+ def queue_child_thread_plan(self):
+ return None
+
+class StepOut(StepWithChild):
+ def __init__(self, thread_plan, dict):
+ StepWithChild.__init__(self, thread_plan)
+
+ def queue_child_thread_plan(self):
+ return self.thread_plan.QueueThreadPlanForStepOut(0)
+
+class StepScripted(StepWithChild):
+ def __init__(self, thread_plan, dict):
+ StepWithChild.__init__(self, thread_plan)
+
+ def queue_child_thread_plan(self):
+ return self.thread_plan.QueueThreadPlanForStepScripted("Steps.StepOut")
OpenPOWER on IntegriCloud