#include "AppleThreadPlanStepThroughObjCTrampoline.h"
#include "AppleObjCTrampolineHandler.h"
#include "lldb/Expression/DiagnosticManager.h"
#include "lldb/Expression/FunctionCaller.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlanRunToAddress.h"
#include "lldb/Target/ThreadPlanStepOut.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
#include <memory>
usingnamespacelldb;
usingnamespacelldb_private;
AppleThreadPlanStepThroughObjCTrampoline::
AppleThreadPlanStepThroughObjCTrampoline(
Thread &thread, AppleObjCTrampolineHandler &trampoline_handler,
ValueList &input_values, lldb::addr_t isa_addr, lldb::addr_t sel_addr,
lldb::addr_t sel_str_addr, llvm::StringRef sel_str)
: … { … }
AppleThreadPlanStepThroughObjCTrampoline::
~AppleThreadPlanStepThroughObjCTrampoline() = default;
void AppleThreadPlanStepThroughObjCTrampoline::DidPush() { … }
bool AppleThreadPlanStepThroughObjCTrampoline::InitializeFunctionCaller() { … }
bool AppleThreadPlanStepThroughObjCTrampoline::
PreResumeInitializeFunctionCaller(void *void_myself) { … }
void AppleThreadPlanStepThroughObjCTrampoline::GetDescription(
Stream *s, lldb::DescriptionLevel level) { … }
bool AppleThreadPlanStepThroughObjCTrampoline::ValidatePlan(Stream *error) { … }
bool AppleThreadPlanStepThroughObjCTrampoline::DoPlanExplainsStop(
Event *event_ptr) { … }
lldb::StateType AppleThreadPlanStepThroughObjCTrampoline::GetPlanRunState() { … }
bool AppleThreadPlanStepThroughObjCTrampoline::ShouldStop(Event *event_ptr) { … }
bool AppleThreadPlanStepThroughObjCTrampoline::MischiefManaged() { … }
bool AppleThreadPlanStepThroughObjCTrampoline::WillStop() { … }
AppleThreadPlanStepThroughDirectDispatch ::
AppleThreadPlanStepThroughDirectDispatch(
Thread &thread, AppleObjCTrampolineHandler &handler,
llvm::StringRef dispatch_func_name)
: … { … }
AppleThreadPlanStepThroughDirectDispatch::
~AppleThreadPlanStepThroughDirectDispatch() { … }
void AppleThreadPlanStepThroughDirectDispatch::GetDescription(
Stream *s, lldb::DescriptionLevel level) { … }
bool
AppleThreadPlanStepThroughDirectDispatch::DoPlanExplainsStop(Event *event_ptr) { … }
bool AppleThreadPlanStepThroughDirectDispatch
::DoWillResume(lldb::StateType resume_state, bool current_plan) { … }
bool AppleThreadPlanStepThroughDirectDispatch::ShouldStop(Event *event_ptr) { … }
bool AppleThreadPlanStepThroughDirectDispatch::MischiefManaged() { … }