forked from OSchip/llvm-project
38 lines
1000 B
Python
38 lines
1000 B
Python
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")
|