9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_OBJC_APPLEOBJCRUNTIME_APPLETHREADPLANSTEPTHROUGHOBJCTRAMPOLINE_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_OBJC_APPLEOBJCRUNTIME_APPLETHREADPLANSTEPTHROUGHOBJCTRAMPOLINE_H
87 llvm::StringRef dispatch_func_name);
static llvm::raw_ostream & error(Stream &strm)
bool ShouldStop(Event *event_ptr) override
bool m_at_msg_send
Breakpoints on the objc dispatch functions.
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
bool MischiefManaged() override
void SetFlagsToDefault() override
lldb::ThreadPlanSP m_objc_step_through_sp
Which dispatch function we're stepping through.
bool DoPlanExplainsStop(Event *event_ptr) override
std::string m_dispatch_func_name
AppleObjCTrampolineHandler & m_trampoline_handler
std::vector< lldb::BreakpointSP > m_msgSend_bkpts
When we hit an objc_msgSend, we'll use this plan to get to its target.
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
bool StopOthers() override
~AppleThreadPlanStepThroughDirectDispatch() override
lldb::ThreadPlanSP m_run_to_sp
This is the function call plan.
lldb::addr_t m_args_addr
The handler itself.
lldb::addr_t m_sel_addr
isa_addr and sel_addr are the keys we will use to cache the implementation.
bool MischiefManaged() override
bool InitializeFunctionCaller()
AppleObjCTrampolineHandler & m_trampoline_handler
lldb::StateType GetPlanRunState() override
ValueList m_input_values
Stores the address for our step through function result structure.
FunctionCaller * m_impl_function
The plan that runs to the target.
bool StopOthers() override
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
lldb::ThreadPlanSP m_func_sp
bool DoPlanExplainsStop(Event *event_ptr) override
bool ValidatePlan(Stream *error) override
Returns whether this plan could be successfully created.
lldb::addr_t m_sel_str_addr
This is a pointer to a impl function that is owned by the client that pushes this plan.
std::string m_sel_str
If this is not LLDB_INVALID_ADDRESS then it is the address we wrote the selector string to.
static bool PreResumeInitializeFunctionCaller(void *myself)
bool ShouldStop(Event *event_ptr) override
~AppleThreadPlanStepThroughObjCTrampoline() override
ValueType Set(ValueType mask)
Set one or more flags by logical OR'ing mask with the current flags.
Encapsulates a function that can be called.
A stream class that can stream formatted output to a file.
lldb_private::Flags & GetFlags()
static uint32_t GetDefaultFlagsValue()
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
StateType
Process and Thread States.