LLDB mainline
|
#include <ObjCLanguageRuntime.h>
Classes | |
struct | ClassAndSel |
struct | ClassAndSelStr |
class | ClassDescriptor |
struct | ConstStringSetHelpers |
class | EncodingToType |
class | ObjCExceptionPrecondition |
class | TaggedPointerVendor |
Public Types | |
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 |
Public Member Functions | |
~ObjCLanguageRuntime () override | |
bool | isA (const void *ClassID) const override |
virtual TaggedPointerVendor * | GetTaggedPointerVendor () |
virtual EncodingToTypeSP | GetEncodingToType () |
virtual ClassDescriptorSP | GetClassDescriptor (ValueObject &in_value) |
ClassDescriptorSP | GetNonKVOClassDescriptor (ValueObject &in_value) |
virtual ClassDescriptorSP | GetClassDescriptorFromClassName (ConstString class_name) |
virtual ClassDescriptorSP | GetClassDescriptorFromISA (ObjCISA isa) |
ClassDescriptorSP | GetNonKVOClassDescriptor (ObjCISA isa) |
lldb::LanguageType | GetLanguageType () const override |
virtual bool | IsModuleObjCLibrary (const lldb::ModuleSP &module_sp)=0 |
virtual bool | ReadObjCLibrary (const lldb::ModuleSP &module_sp)=0 |
virtual bool | HasReadObjCLibrary ()=0 |
lldb::addr_t | LookupInMethodCache (lldb::addr_t class_addr, lldb::addr_t sel) |
lldb::addr_t | LookupInMethodCache (lldb::addr_t class_addr, llvm::StringRef sel_str) |
void | AddToMethodCache (lldb::addr_t class_addr, lldb::addr_t sel, lldb::addr_t impl_addr) |
void | AddToMethodCache (lldb::addr_t class_addr, llvm::StringRef sel_str, lldb::addr_t impl_addr) |
TypeAndOrName | LookupInClassNameCache (lldb::addr_t class_addr) |
void | AddToClassNameCache (lldb::addr_t class_addr, const char *name, lldb::TypeSP type_sp) |
void | AddToClassNameCache (lldb::addr_t class_addr, const TypeAndOrName &class_or_type_name) |
lldb::TypeSP | LookupInCompleteClassCache (ConstString &name) |
std::optional< CompilerType > | GetRuntimeType (CompilerType base_type) override |
virtual llvm::Expected< std::unique_ptr< UtilityFunction > > | CreateObjectChecker (std::string name, ExecutionContext &exe_ctx)=0 |
virtual ObjCRuntimeVersions | GetRuntimeVersion () const |
bool | IsValidISA (ObjCISA isa) |
virtual void | UpdateISAToDescriptorMapIfNeeded ()=0 |
void | UpdateISAToDescriptorMap () |
virtual ObjCISA | GetISA (ConstString name) |
virtual ObjCISA | GetParentClass (ObjCISA isa) |
virtual size_t | GetByteOffsetForIvar (CompilerType &parent_qual_type, const char *ivar_name) |
bool | HasNewLiteralsAndIndexing () |
void | SymbolsDidLoad (const ModuleList &module_list) override |
std::optional< uint64_t > | GetTypeBitSize (const CompilerType &compiler_type) override |
bool | IsAllowedRuntimeValue (ConstString name) override |
Check whether the name is "self" or "_cmd" and should show up in "frame variable". | |
Public Member Functions inherited from lldb_private::LanguageRuntime | |
virtual lldb::LanguageType | GetLanguageType () const =0 |
virtual LanguageRuntime * | GetPreferredLanguageRuntime (ValueObject &in_value) |
Return the preferred language runtime instance, which in most cases will be the current instance. | |
virtual llvm::Error | GetObjectDescription (Stream &str, ValueObject &object)=0 |
virtual llvm::Error | GetObjectDescription (Stream &str, Value &value, ExecutionContextScope *exe_scope)=0 |
virtual llvm::Expected< VTableInfo > | GetVTableInfo (ValueObject &in_value, bool check_type) |
Get the vtable information for a given value. | |
virtual bool | GetDynamicTypeAndAddress (ValueObject &in_value, lldb::DynamicValueType use_dynamic, TypeAndOrName &class_type_or_name, Address &address, Value::ValueType &value_type)=0 |
virtual CompilerType | GetConcreteType (ExecutionContextScope *exe_scope, ConstString abstract_type_name) |
virtual bool | CouldHaveDynamicValue (ValueObject &in_value)=0 |
virtual TypeAndOrName | FixUpDynamicType (const TypeAndOrName &type_and_or_name, ValueObject &static_value)=0 |
virtual void | SetExceptionBreakpoints () |
virtual void | ClearExceptionBreakpoints () |
virtual bool | ExceptionBreakpointsAreSet () |
virtual bool | ExceptionBreakpointsExplainStop (lldb::StopInfoSP stop_reason) |
virtual lldb::ValueObjectSP | GetExceptionObjectForThread (lldb::ThreadSP thread_sp) |
virtual lldb::ThreadSP | GetBacktraceThreadFromException (lldb::ValueObjectSP thread_sp) |
virtual DeclVendor * | GetDeclVendor () |
virtual lldb::BreakpointResolverSP | CreateExceptionResolver (const lldb::BreakpointSP &bkpt, bool catch_bp, bool throw_bp)=0 |
virtual lldb::SearchFilterSP | CreateExceptionSearchFilter () |
virtual std::optional< uint64_t > | GetTypeBitSize (const CompilerType &compiler_type) |
virtual void | SymbolsDidLoad (const ModuleList &module_list) |
virtual lldb::ThreadPlanSP | GetStepThroughTrampolinePlan (Thread &thread, bool stop_others)=0 |
virtual bool | IsAllowedRuntimeValue (ConstString name) |
Identify whether a name is a runtime value that should not be hidden by from the user interface. | |
virtual std::optional< CompilerType > | GetRuntimeType (CompilerType base_type) |
void | ModulesDidLoad (const ModuleList &module_list) override |
Called when modules have been loaded in the process. | |
virtual bool | GetIRPasses (LLVMUserExpression::IRPasses &custom_passes) |
virtual lldb::addr_t | LookupRuntimeSymbol (ConstString name) |
virtual bool | isA (const void *ClassID) const |
virtual StructuredData::ObjectSP | GetLanguageSpecificData (SymbolContext sc) |
Language runtime plugins can use this API to report language-specific runtime information about this compile unit, such as additional language version details or feature flags. | |
Public Member Functions inherited from lldb_private::Runtime | |
Runtime (Process *process) | |
virtual | ~Runtime ()=default |
Runtime (const Runtime &)=delete | |
const Runtime & | operator= (const Runtime &)=delete |
Process * | GetProcess () |
Target & | GetTargetRef () |
virtual void | ModulesDidLoad (const ModuleList &module_list)=0 |
Called when modules have been loaded in the process. | |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
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::LanguageRuntime | |
static char | ID = 0 |
Protected Types | |
typedef std::map< ConstString, lldb::TypeWP > | CompleteClassMap |
typedef std::unordered_set< ConstString, ConstStringSetHelpers, ConstStringSetHelpers > | CompleteClassSet |
Protected Attributes | |
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 Types | |
typedef std::map< ClassAndSel, lldb::addr_t > | MsgImplMap |
typedef std::map< ClassAndSelStr, lldb::addr_t > | MsgImplStrMap |
typedef std::map< ObjCISA, ClassDescriptorSP > | ISAToDescriptorMap |
typedef std::multimap< uint32_t, ObjCISA > | HashToISAMap |
typedef ISAToDescriptorMap::iterator | ISAToDescriptorIterator |
typedef HashToISAMap::iterator | HashToISAIterator |
typedef ThreadSafeDenseMap< void *, uint64_t > | TypeSizeCache |
Friends | |
class | ::CommandObjectObjC_ClassTable_Dump |
Definition at line 37 of file ObjCLanguageRuntime.h.
typedef std::shared_ptr<ClassDescriptor> lldb_private::ObjCLanguageRuntime::ClassDescriptorSP |
Definition at line 49 of file ObjCLanguageRuntime.h.
|
protected |
Definition at line 446 of file ObjCLanguageRuntime.h.
|
protected |
Definition at line 462 of file ObjCLanguageRuntime.h.
typedef std::shared_ptr<EncodingToType> lldb_private::ObjCLanguageRuntime::EncodingToTypeSP |
Definition at line 229 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 433 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 431 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 432 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 430 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 428 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 429 of file ObjCLanguageRuntime.h.
Definition at line 46 of file ObjCLanguageRuntime.h.
|
private |
Definition at line 434 of file ObjCLanguageRuntime.h.
|
strong |
Enumerator | |
---|---|
eObjC_VersionUnknown | |
eAppleObjC_V1 | |
eAppleObjC_V2 | |
eGNUstep_libobjc2 |
Definition at line 39 of file ObjCLanguageRuntime.h.
|
overridedefault |
|
protected |
Definition at line 39 of file ObjCLanguageRuntime.cpp.
|
protecteddelete |
|
inlineprotected |
Definition at line 341 of file ObjCLanguageRuntime.h.
References m_isa_to_descriptor.
Referenced by lldb_private::AppleObjCRuntimeV2::ParseClassInfoArray(), and lldb_private::AppleObjCRuntimeV1::UpdateISAToDescriptorMapIfNeeded().
|
protected |
Definition at line 52 of file ObjCLanguageRuntime.cpp.
References m_hash_to_isa_map, and m_isa_to_descriptor.
|
inlineprotected |
Definition at line 352 of file ObjCLanguageRuntime.h.
References m_hash_to_isa_map, and m_isa_to_descriptor.
void lldb_private::ObjCLanguageRuntime::AddToClassNameCache | ( | lldb::addr_t | class_addr, |
const char * | name, | ||
lldb::TypeSP | type_sp | ||
) |
void lldb_private::ObjCLanguageRuntime::AddToClassNameCache | ( | lldb::addr_t | class_addr, |
const TypeAndOrName & | class_or_type_name | ||
) |
void ObjCLanguageRuntime::AddToMethodCache | ( | lldb::addr_t | class_addr, |
lldb::addr_t | sel, | ||
lldb::addr_t | impl_addr | ||
) |
Definition at line 64 of file ObjCLanguageRuntime.cpp.
References lldb_private::GetLog(), LLDB_LOGF, m_impl_cache, and lldb_private::Step.
Referenced by lldb_private::AppleThreadPlanStepThroughObjCTrampoline::ShouldStop().
void ObjCLanguageRuntime::AddToMethodCache | ( | lldb::addr_t | class_addr, |
llvm::StringRef | sel_str, | ||
lldb::addr_t | impl_addr | ||
) |
Definition at line 78 of file ObjCLanguageRuntime.cpp.
References lldb_private::GetLog(), LLDB_LOG, m_impl_str_cache, and lldb_private::Step.
|
inlineprotectedvirtual |
Reimplemented in lldb_private::AppleObjCRuntime.
Definition at line 335 of file ObjCLanguageRuntime.h.
Referenced by HasNewLiteralsAndIndexing().
|
inlinestatic |
Definition at line 218 of file ObjCLanguageRuntime.h.
References ID, and lldb_private::LanguageRuntime::isA().
|
pure virtual |
Implemented in lldb_private::AppleObjCRuntimeV2, lldb_private::GNUstepObjCRuntime, and lldb_private::AppleObjCRuntimeV1.
Referenced by lldb_private::ClangDynamicCheckerFunctions::Install().
|
inlinestatic |
Definition at line 222 of file ObjCLanguageRuntime.h.
References lldb::eLanguageTypeObjC, and lldb_private::Process::GetLanguageRuntime().
Referenced by lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), CommandObjectObjC_ClassTable_Dump::DoExecute(), CommandObjectMultiwordObjC_TaggedPointer_Info::DoExecute(), lldb_private::ClangASTSource::FindDeclInObjCRuntime(), lldb_private::ClangASTSource::FindObjCMethodDecls(), lldb_private::ClangASTSource::FindObjCPropertyAndIvarDecls(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), lldb_private::ClangASTSource::GetCompleteObjCInterface(), lldb_private::TypeSystemClang::GetObjCBitSize(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::AppleObjCTrampolineHandler::GetStepThroughDispatchPlan(), lldb_private::ClangExpressionDeclMap::GetSymbolAddress(), lldb_private::ObjCLanguage::GetTypeScavenger(), lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::InitializeVTableSymbols(), lldb_private::ClangDynamicCheckerFunctions::Install(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSArraySyntheticFrontEndCreator(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), lldb_private::formatters::NSDictionarySyntheticFrontEndCreator(), lldb_private::formatters::NSErrorSyntheticFrontEndCreator(), lldb_private::formatters::NSExceptionSyntheticFrontEndCreator(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSSetSyntheticFrontEndCreator(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBooleanSummaryProvider(), lldb_private::formatters::ObjCClassSummaryProvider(), SetupLangOpts(), lldb_private::AppleThreadPlanStepThroughObjCTrampoline::ShouldStop(), and NSIndexPathSyntheticFrontEnd::Update().
|
static |
Definition at line 389 of file ObjCLanguageRuntime.cpp.
References lldb::eLanguageTypeObjC.
Referenced by lldb_private::AppleObjCRuntimeV1::Initialize(), and lldb_private::AppleObjCRuntimeV2::Initialize().
|
virtual |
Reimplemented in lldb_private::AppleObjCRuntimeV2.
Definition at line 159 of file ObjCLanguageRuntime.cpp.
References LLDB_INVALID_IVAR_OFFSET.
Referenced by lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex().
|
virtual |
Reimplemented in lldb_private::AppleObjCRuntimeV2.
Definition at line 267 of file ObjCLanguageRuntime.cpp.
References error(), GetClassDescriptorFromISA(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::ValueObject::GetPointerValue(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::CompilerType::IsValid(), LLDB_INVALID_ADDRESS, and lldb_private::Process::ReadPointerFromMemory().
Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::AppleObjCRuntimeV1::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetExceptionObjectForThread(), GetNonKVOClassDescriptor(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSArraySyntheticFrontEndCreator(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDictionarySyntheticFrontEndCreator(), lldb_private::formatters::NSErrorSyntheticFrontEndCreator(), lldb_private::formatters::NSExceptionSyntheticFrontEndCreator(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSSetSyntheticFrontEndCreator(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), and NSIndexPathSyntheticFrontEnd::Update().
|
virtual |
Definition at line 258 of file ObjCLanguageRuntime.cpp.
References GetDescriptorIterator(), and m_isa_to_descriptor.
Referenced by GetTypeBitSize(), and lldb_private::AppleObjCRuntimeV2::LookupRuntimeSymbol().
|
virtual |
Reimplemented in lldb_private::AppleObjCRuntimeV2.
Definition at line 305 of file ObjCLanguageRuntime.cpp.
References lldb_private::Process::GetABI(), m_isa_to_descriptor, lldb_private::Runtime::m_process, and UpdateISAToDescriptorMap().
Referenced by lldb_private::AppleObjCDeclVendor::FinishDecl(), GetClassDescriptor(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptorFromISA(), lldb_private::AppleObjCDeclVendor::GetDeclForISA(), GetNonKVOClassDescriptor(), GetParentClass(), and lldb_private::formatters::ObjCClassSummaryProvider().
|
protected |
Definition at line 186 of file ObjCLanguageRuntime.cpp.
References lldb_private::ConstString::GetStringRef(), m_hash_to_isa_map, m_isa_to_descriptor, and UpdateISAToDescriptorMap().
Referenced by GetClassDescriptorFromClassName(), and GetISA().
|
protected |
Definition at line 221 of file ObjCLanguageRuntime.cpp.
References m_isa_to_descriptor, and UpdateISAToDescriptorMapIfNeeded().
Referenced by CommandObjectObjC_ClassTable_Dump::DoExecute().
|
virtual |
Reimplemented in lldb_private::AppleObjCRuntimeV2.
Definition at line 349 of file ObjCLanguageRuntime.cpp.
Referenced by lldb_private::AppleObjCDeclVendor::FinishDecl().
|
virtual |
Definition at line 178 of file ObjCLanguageRuntime.cpp.
References GetDescriptorIterator(), and m_isa_to_descriptor.
Referenced by lldb_private::AppleObjCDeclVendor::FindDecls().
|
inlineoverridevirtual |
Implements lldb_private::LanguageRuntime.
Definition at line 244 of file ObjCLanguageRuntime.h.
References lldb::eLanguageTypeObjC.
Referenced by lldb_private::AppleObjCRuntime::SetExceptionBreakpoints().
ObjCLanguageRuntime::ClassDescriptorSP ObjCLanguageRuntime::GetNonKVOClassDescriptor | ( | ObjCISA | isa | ) |
Definition at line 324 of file ObjCLanguageRuntime.cpp.
References GetClassDescriptorFromISA().
ObjCLanguageRuntime::ClassDescriptorSP ObjCLanguageRuntime::GetNonKVOClassDescriptor | ( | ValueObject & | in_value | ) |
Definition at line 290 of file ObjCLanguageRuntime.cpp.
References GetClassDescriptor().
Referenced by lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntimeV2::GetPreferredLanguageRuntime(), and lldb_private::formatters::NSDictionarySummaryProvider().
|
virtual |
Definition at line 247 of file ObjCLanguageRuntime.cpp.
References GetClassDescriptorFromISA().
|
overridevirtual |
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 427 of file ObjCLanguageRuntime.cpp.
References lldb_private::CompilerType::GetCompleteType(), lldb_private::CompilerType::GetPointerType(), lldb_private::CompilerType::GetTypeName(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), lldb_private::TypeSystemClang::IsObjCObjectPointerType(), and LookupInCompleteClassCache().
|
inlinevirtual |
Reimplemented in lldb_private::AppleObjCRuntimeV1, lldb_private::AppleObjCRuntimeV2, and lldb_private::GNUstepObjCRuntime.
Definition at line 282 of file ObjCLanguageRuntime.h.
References eObjC_VersionUnknown.
|
inlinevirtual |
Reimplemented in lldb_private::AppleObjCRuntimeV2.
Definition at line 227 of file ObjCLanguageRuntime.h.
Referenced by CommandObjectMultiwordObjC_TaggedPointer_Info::DoExecute().
|
overridevirtual |
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 354 of file ObjCLanguageRuntime.cpp.
References GetClassDescriptorFromClassName(), lldb_private::CompilerType::GetOpaqueQualType(), lldb_private::CompilerType::GetTypeName(), lldb_private::ThreadSafeDenseMap< _KeyType, _ValueType >::Insert(), lldb_private::ThreadSafeDenseMap< _KeyType, _ValueType >::Lookup(), and m_type_size_cache.
|
inline |
Definition at line 309 of file ObjCLanguageRuntime.h.
References CalculateHasNewLiteralsAndIndexing(), lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, and m_has_new_literals_and_indexing.
|
pure virtual |
Implemented in lldb_private::AppleObjCRuntime, and lldb_private::GNUstepObjCRuntime.
Referenced by ReadObjCLibraryIfNeeded().
|
inlineoverridevirtual |
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 214 of file ObjCLanguageRuntime.h.
References ID, and lldb_private::LanguageRuntime::isA().
Referenced by lldb_private::AppleObjCRuntime::isA(), and lldb_private::GNUstepObjCRuntime::isA().
|
inlineprotected |
Definition at line 337 of file ObjCLanguageRuntime.h.
References m_isa_to_descriptor.
Referenced by lldb_private::AppleObjCRuntimeV2::ParseClassInfoArray(), and lldb_private::AppleObjCRuntimeV1::UpdateISAToDescriptorMapIfNeeded().
|
overridevirtual |
Check whether the name is "self" or "_cmd" and should show up in "frame variable".
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 46 of file ObjCLanguageRuntime.cpp.
|
pure virtual |
Implemented in lldb_private::AppleObjCRuntime, and lldb_private::GNUstepObjCRuntime.
Referenced by lldb_private::DynamicLoaderDarwin::AlwaysRelyOnEHUnwindInfo(), and ReadObjCLibraryIfNeeded().
|
inline |
Definition at line 286 of file ObjCLanguageRuntime.h.
References m_isa_to_descriptor, and UpdateISAToDescriptorMap().
TypeAndOrName lldb_private::ObjCLanguageRuntime::LookupInClassNameCache | ( | lldb::addr_t | class_addr | ) |
lldb::TypeSP ObjCLanguageRuntime::LookupInCompleteClassCache | ( | ConstString & | name | ) |
Definition at line 109 of file ObjCLanguageRuntime.cpp.
References lldb::eSymbolTypeObjCClass, lldb_private::ModuleList::FindSymbolsWithNameAndType(), lldb_private::SymbolContextList::GetContextAtIndex(), lldb_private::Target::GetImages(), lldb_private::SymbolContextList::GetSize(), lldb_private::ConstString::GetStringRef(), lldb_private::Process::GetTarget(), lldb_private::TypeResults::GetTypeMap(), lldb_private::TypePayloadClang::IsCompleteObjCClass(), lldb_private::TypeSystemClang::IsObjCObjectOrInterfaceType(), m_complete_class_cache, m_negative_complete_class_cache, lldb_private::Runtime::m_process, lldb_private::SymbolContext::module_sp, and lldb_private::TypeMap::Types().
Referenced by lldb_private::ClangASTSource::GetCompleteObjCInterface(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), and GetRuntimeType().
lldb::addr_t ObjCLanguageRuntime::LookupInMethodCache | ( | lldb::addr_t | class_addr, |
lldb::addr_t | sel | ||
) |
Definition at line 90 of file ObjCLanguageRuntime.cpp.
References LLDB_INVALID_ADDRESS, and m_impl_cache.
Referenced by lldb_private::AppleObjCTrampolineHandler::GetStepThroughDispatchPlan().
lldb::addr_t ObjCLanguageRuntime::LookupInMethodCache | ( | lldb::addr_t | class_addr, |
llvm::StringRef | sel_str | ||
) |
Definition at line 99 of file ObjCLanguageRuntime.cpp.
References LLDB_INVALID_ADDRESS, and m_impl_str_cache.
|
protecteddelete |
|
pure virtual |
Implemented in lldb_private::AppleObjCRuntime, and lldb_private::GNUstepObjCRuntime.
Referenced by ReadObjCLibraryIfNeeded().
|
protected |
Definition at line 230 of file ObjCLanguageRuntime.cpp.
References lldb_private::ModuleList::GetModuleAtIndex(), lldb_private::ModuleList::GetMutex(), lldb_private::ModuleList::GetSize(), HasReadObjCLibrary(), IsModuleObjCLibrary(), and ReadObjCLibrary().
Referenced by lldb_private::GNUstepObjCRuntime::GNUstepObjCRuntime(), and lldb_private::GNUstepObjCRuntime::ModulesDidLoad().
|
inlineoverridevirtual |
Reimplemented from lldb_private::LanguageRuntime.
Definition at line 320 of file ObjCLanguageRuntime.h.
References m_negative_complete_class_cache.
|
inline |
Definition at line 293 of file ObjCLanguageRuntime.h.
References lldb_private::Process::GetStopID(), m_isa_to_descriptor_stop_id, lldb_private::Runtime::m_process, and UpdateISAToDescriptorMapIfNeeded().
Referenced by GetClassDescriptorFromISA(), GetDescriptorIterator(), and IsValidISA().
|
pure virtual |
Implemented in lldb_private::AppleObjCRuntimeV1, lldb_private::AppleObjCRuntimeV2, and lldb_private::GNUstepObjCRuntime.
Referenced by GetDescriptorIteratorPair(), and UpdateISAToDescriptorMap().
|
friend |
Definition at line 467 of file ObjCLanguageRuntime.h.
|
static |
Definition at line 212 of file ObjCLanguageRuntime.h.
|
protected |
Definition at line 447 of file ObjCLanguageRuntime.h.
Referenced by LookupInCompleteClassCache().
|
private |
Definition at line 438 of file ObjCLanguageRuntime.h.
Referenced by HasNewLiteralsAndIndexing().
|
private |
Definition at line 440 of file ObjCLanguageRuntime.h.
Referenced by AddClass(), and GetDescriptorIterator().
|
private |
Definition at line 436 of file ObjCLanguageRuntime.h.
Referenced by AddToMethodCache(), and LookupInMethodCache().
|
private |
Definition at line 437 of file ObjCLanguageRuntime.h.
Referenced by AddToMethodCache(), and LookupInMethodCache().
|
private |
Definition at line 439 of file ObjCLanguageRuntime.h.
Referenced by AddClass(), GetClassDescriptorFromClassName(), GetClassDescriptorFromISA(), GetDescriptorIterator(), GetDescriptorIteratorPair(), GetISA(), ISAIsCached(), and IsValidISA().
|
protected |
Definition at line 444 of file ObjCLanguageRuntime.h.
Referenced by UpdateISAToDescriptorMap(), lldb_private::AppleObjCRuntimeV1::UpdateISAToDescriptorMapIfNeeded(), and lldb_private::AppleObjCRuntimeV2::UpdateISAToDescriptorMapIfNeeded().
|
protected |
Definition at line 463 of file ObjCLanguageRuntime.h.
Referenced by LookupInCompleteClassCache(), and SymbolsDidLoad().
|
private |
Definition at line 441 of file ObjCLanguageRuntime.h.
Referenced by GetTypeBitSize().