LLDB mainline
|
#include <AppleObjCRuntimeV1.h>
Classes | |
class | ClassDescriptorV1 |
class | HashTableSignature |
Static Public Member Functions | |
static void | Initialize () |
static void | Terminate () |
static lldb_private::LanguageRuntime * | CreateInstance (Process *process, lldb::LanguageType language) |
static llvm::StringRef | GetPluginNameStatic () |
static bool | classof (const LanguageRuntime *runtime) |
Static Public Member Functions inherited from lldb_private::AppleObjCRuntime | |
static void | Initialize () |
static void | Terminate () |
static bool | classof (const LanguageRuntime *runtime) |
static std::tuple< FileSpec, ConstString > | GetExceptionThrowLocation () |
Static Public Member Functions inherited from lldb_private::ObjCLanguageRuntime | |
static lldb::BreakpointPreconditionSP | GetBreakpointExceptionPrecondition (lldb::LanguageType language, bool throw_bp) |
static bool | classof (const LanguageRuntime *runtime) |
static ObjCLanguageRuntime * | Get (Process &process) |
Static Public Member Functions inherited from lldb_private::LanguageRuntime | |
static LanguageRuntime * | FindPlugin (Process *process, lldb::LanguageType language) |
static void | InitializeCommands (CommandObject *parent) |
static lldb::BreakpointSP | CreateExceptionBreakpoint (Target &target, lldb::LanguageType language, bool catch_bp, bool throw_bp, bool is_internal=false) |
static lldb::BreakpointPreconditionSP | GetExceptionPrecondition (lldb::LanguageType language, bool throw_bp) |
static lldb::UnwindPlanSP | GetRuntimeUnwindPlan (lldb_private::Thread &thread, lldb_private::RegisterContext *regctx, bool &behaves_like_zeroth_frame) |
A language runtime may be able to provide a special UnwindPlan for the frame represented by the register contents regctx when that frame is not following the normal ABI conventions. | |
Static Public Attributes | |
static char | ID = 0 |
Static Public Attributes inherited from lldb_private::AppleObjCRuntime | |
static char | ID = 0 |
Static Public Attributes inherited from lldb_private::ObjCLanguageRuntime | |
static char | ID = 0 |
Static Public Attributes inherited from lldb_private::LanguageRuntime | |
static char | ID = 0 |
Protected Attributes | |
HashTableSignature | m_hash_signature |
lldb::addr_t | m_isa_hash_table_ptr |
std::unique_ptr< DeclVendor > | m_decl_vendor_up |
Protected Attributes inherited from lldb_private::AppleObjCRuntime | |
std::unique_ptr< Address > | m_PrintForDebugger_addr |
bool | m_read_objc_library |
std::unique_ptr< lldb_private::AppleObjCTrampolineHandler > | m_objc_trampoline_handler_up |
lldb::BreakpointSP | m_objc_exception_bp_sp |
lldb::ModuleWP | m_objc_module_wp |
std::unique_ptr< FunctionCaller > | m_print_object_caller_up |
std::optional< uint32_t > | m_Foundation_major |
Protected Attributes inherited from lldb_private::ObjCLanguageRuntime | |
uint32_t | m_isa_to_descriptor_stop_id |
CompleteClassMap | m_complete_class_cache |
CompleteClassSet | m_negative_complete_class_cache |
Protected Attributes inherited from lldb_private::Runtime | |
Process * | m_process |
Private Member Functions | |
AppleObjCRuntimeV1 (Process *process) | |
Additional Inherited Members | |
Public Types inherited from lldb_private::ObjCLanguageRuntime | |
enum class | ObjCRuntimeVersions { eObjC_VersionUnknown = 0 , eAppleObjC_V1 = 1 , eAppleObjC_V2 = 2 , eGNUstep_libobjc2 = 3 } |
typedef lldb::addr_t | ObjCISA |
typedef std::shared_ptr< ClassDescriptor > | ClassDescriptorSP |
typedef std::shared_ptr< EncodingToType > | EncodingToTypeSP |
Protected Types inherited from lldb_private::ObjCLanguageRuntime | |
typedef std::map< ConstString, lldb::TypeWP > | CompleteClassMap |
typedef std::unordered_set< ConstString, ConstStringSetHelpers, ConstStringSetHelpers > | CompleteClassSet |
Static Protected Member Functions inherited from lldb_private::AppleObjCRuntime | |
static bool | AppleIsModuleObjCLibrary (const lldb::ModuleSP &module_sp) |
static ObjCRuntimeVersions | GetObjCVersion (Process *process, lldb::ModuleSP &objc_module_sp) |
Definition at line 19 of file AppleObjCRuntimeV1.h.
|
overridedefault |
|
private |
Definition at line 42 of file AppleObjCRuntimeV1.cpp.
|
inlinestatic |
Definition at line 39 of file AppleObjCRuntimeV1.h.
References ID, and lldb_private::LanguageRuntime::isA().
|
overrideprotectedvirtual |
Implements lldb_private::LanguageRuntime.
Definition at line 97 of file AppleObjCRuntimeV1.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolNo, lldb_private::Breakpoint::Exact, and lldb_private::AppleObjCRuntime::GetExceptionThrowLocation().
|
static |
Definition at line 68 of file AppleObjCRuntimeV1.cpp.
References lldb_private::ObjCLanguageRuntime::eAppleObjC_V1, lldb::eLanguageTypeObjC, and lldb_private::AppleObjCRuntime::GetObjCVersion().
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Implements lldb_private::ObjCLanguageRuntime.
Definition at line 115 of file AppleObjCRuntimeV1.cpp.
References lldb_private::Target::CreateUtilityFunction(), lldb::eLanguageTypeC, lldb_private::Runtime::GetTargetRef(), and UNUSED_IF_ASSERT_DISABLED.
|
overridevirtual |
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 429 of file AppleObjCRuntimeV1.cpp.
|
overridevirtual |
Reimplemented from lldb_private::AppleObjCRuntime.
Definition at line 48 of file AppleObjCRuntimeV1.cpp.
References lldb_private::TypeAndOrName::Clear(), lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::ValueObject::GetPointerValue(), lldb_private::TypeAndOrName::IsEmpty(), lldb_private::Value::Scalar, lldb_private::TypeAndOrName::SetName(), and lldb_private::Address::SetRawAddress().
|
protected |
Definition at line 280 of file AppleObjCRuntimeV1.cpp.
References error(), lldb::eSymbolTypeData, lldb_private::Symbol::GetAddressRef(), lldb_private::Address::GetLoadAddress(), lldb_private::AppleObjCRuntime::GetObjCModule(), lldb_private::Runtime::GetProcess(), lldb_private::Process::GetTarget(), LLDB_INVALID_ADDRESS, m_isa_hash_table_ptr, lldb_private::Process::ReadPointerFromMemory(), and lldb_private::Symbol::ValueIsAddress().
Referenced by UpdateISAToDescriptorMapIfNeeded().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 110 of file AppleObjCRuntimeV1.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 31 of file AppleObjCRuntimeV1.h.
Referenced by GetPluginName(), and Initialize().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ObjCLanguageRuntime.
Definition at line 112 of file AppleObjCRuntimeV1.h.
References lldb_private::ObjCLanguageRuntime::eAppleObjC_V1.
lldb::addr_t AppleObjCRuntimeV1::GetTaggedPointerObfuscator | ( | ) |
Definition at line 276 of file AppleObjCRuntimeV1.cpp.
|
static |
Definition at line 85 of file AppleObjCRuntimeV1.cpp.
References CreateInstance(), lldb_private::ObjCLanguageRuntime::GetBreakpointExceptionPrecondition(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), and lldb_private::AppleObjCRuntime::Initialize().
|
inlineoverridevirtual |
Reimplemented from lldb_private::AppleObjCRuntime.
Definition at line 35 of file AppleObjCRuntimeV1.h.
References ID, and lldb_private::AppleObjCRuntime::isA().
|
static |
Definition at line 92 of file AppleObjCRuntimeV1.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by lldb_private::AppleObjCRuntime::Terminate().
|
overridevirtual |
Implements lldb_private::ObjCLanguageRuntime.
Definition at line 313 of file AppleObjCRuntimeV1.cpp.
References lldb_private::ObjCLanguageRuntime::AddClass(), error(), lldb_private::DataExtractor::GetAddress(), lldb_private::Process::GetAddressByteSize(), lldb_private::Process::GetByteOrder(), lldb_private::WritableDataBuffer::GetBytes(), lldb_private::DataBufferHeap::GetByteSize(), GetISAHashTablePointer(), lldb_private::GetLog(), lldb_private::AppleObjCRuntime::GetObjCModule(), lldb_private::Runtime::GetProcess(), lldb_private::Process::GetStopID(), lldb_private::DataExtractor::GetU32(), lldb_private::Log::GetVerbose(), lldb_private::ObjCLanguageRuntime::ISAIsCached(), LLDB_INVALID_ADDRESS, LLDB_LOGF, m_hash_signature, lldb_private::ObjCLanguageRuntime::m_isa_to_descriptor_stop_id, lldb_private::Runtime::m_process, lldb_private::AppleObjCRuntimeV1::HashTableSignature::NeedsUpdate(), lldb_private::Process, lldb_private::Process::ReadMemory(), lldb_private::Process::ReadPointerFromMemory(), lldb_private::DataBufferHeap::SetByteSize(), lldb_private::DataExtractor::SetData(), UINT32_MAX, and lldb_private::AppleObjCRuntimeV1::HashTableSignature::UpdateSignature().
|
static |
Definition at line 33 of file AppleObjCRuntimeV1.h.
|
protected |
Definition at line 152 of file AppleObjCRuntimeV1.h.
|
protected |
Definition at line 150 of file AppleObjCRuntimeV1.h.
Referenced by UpdateISAToDescriptorMapIfNeeded().
|
protected |
Definition at line 151 of file AppleObjCRuntimeV1.h.
Referenced by GetISAHashTablePointer().