diff options
author | Aleksandr Urakov <aleksandr.urakov@jetbrains.com> | 2018-10-25 08:27:42 +0000 |
---|---|---|
committer | Aleksandr Urakov <aleksandr.urakov@jetbrains.com> | 2018-10-25 08:27:42 +0000 |
commit | c1c0fac76595da4a46db30da68e8444b9d1e3521 (patch) | |
tree | 9f887ff9a3d2d913ceb8c782934d0fd9215ee185 /lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py | |
parent | b4b6ec01c6d1c6f15da65c37be9ffa2482712e7f (diff) | |
download | bcm5719-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.py | 37 |
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") |