From c1c0fac76595da4a46db30da68e8444b9d1e3521 Mon Sep 17 00:00:00 2001 From: Aleksandr Urakov Date: Thu, 25 Oct 2018 08:27:42 +0000 Subject: [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 --- .../test/functionalities/step_scripted/Steps.py | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/step_scripted/Steps.py') 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") -- cgit v1.2.3