LLDB mainline
|
#include <AppleDWARFIndex.h>
Public Member Functions | |
AppleDWARFIndex (Module &module, std::unique_ptr< DWARFMappedHash::MemoryTable > apple_names, std::unique_ptr< DWARFMappedHash::MemoryTable > apple_namespaces, std::unique_ptr< DWARFMappedHash::MemoryTable > apple_types, std::unique_ptr< DWARFMappedHash::MemoryTable > apple_objc) | |
void | Preload () override |
void | GetGlobalVariables (ConstString basename, llvm::function_ref< bool(DWARFDIE die)> callback) override |
Finds global variables with the given base name. | |
void | GetGlobalVariables (const RegularExpression ®ex, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetGlobalVariables (DWARFUnit &cu, llvm::function_ref< bool(DWARFDIE die)> callback) override |
cu must be the skeleton unit if possible, not GetNonSkeletonUnit(). | |
void | GetObjCMethods (ConstString class_name, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetCompleteObjCClass (ConstString class_name, bool must_be_implementation, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetTypes (ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetTypes (const DWARFDeclContext &context, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetNamespaces (ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetFunctions (const Module::LookupInfo &lookup_info, SymbolFileDWARF &dwarf, const CompilerDeclContext &parent_decl_ctx, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | GetFunctions (const RegularExpression ®ex, llvm::function_ref< bool(DWARFDIE die)> callback) override |
void | Dump (Stream &s) override |
![]() | |
DWARFIndex (Module &module) | |
virtual | ~DWARFIndex () |
virtual void | Preload ()=0 |
virtual void | GetGlobalVariables (ConstString basename, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
Finds global variables with the given base name. | |
virtual void | GetGlobalVariables (const RegularExpression ®ex, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetGlobalVariables (DWARFUnit &cu, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
cu must be the skeleton unit if possible, not GetNonSkeletonUnit(). | |
virtual void | GetObjCMethods (ConstString class_name, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetCompleteObjCClass (ConstString class_name, bool must_be_implementation, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetTypes (ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetTypes (const DWARFDeclContext &context, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetNamespaces (ConstString name, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetFunctions (const Module::LookupInfo &lookup_info, SymbolFileDWARF &dwarf, const CompilerDeclContext &parent_decl_ctx, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | GetFunctions (const RegularExpression ®ex, llvm::function_ref< bool(DWARFDIE die)> callback)=0 |
virtual void | Dump (Stream &s)=0 |
StatsDuration::Duration | GetIndexTime () |
Static Public Member Functions | |
static std::unique_ptr< AppleDWARFIndex > | Create (Module &module, DWARFDataExtractor apple_names, DWARFDataExtractor apple_namespaces, DWARFDataExtractor apple_types, DWARFDataExtractor apple_objc, DWARFDataExtractor debug_str) |
Private Attributes | |
std::unique_ptr< DWARFMappedHash::MemoryTable > | m_apple_names_up |
std::unique_ptr< DWARFMappedHash::MemoryTable > | m_apple_namespaces_up |
std::unique_ptr< DWARFMappedHash::MemoryTable > | m_apple_types_up |
std::unique_ptr< DWARFMappedHash::MemoryTable > | m_apple_objc_up |
Additional Inherited Members | |
![]() | |
bool | ProcessFunctionDIE (const Module::LookupInfo &lookup_info, DIERef ref, SymbolFileDWARF &dwarf, const CompilerDeclContext &parent_decl_ctx, llvm::function_ref< bool(DWARFDIE die)> callback) |
Helper function implementing common logic for processing function dies. | |
DIERefCallbackImpl | DIERefCallback (llvm::function_ref< bool(DWARFDIE die)> callback, llvm::StringRef name={}) const |
void | ReportInvalidDIERef (DIERef ref, llvm::StringRef name) const |
![]() | |
Module & | m_module |
StatsDuration | m_index_time |
Definition at line 16 of file AppleDWARFIndex.h.
|
inline |
Definition at line 23 of file AppleDWARFIndex.h.
|
static |
Definition at line 21 of file AppleDWARFIndex.cpp.
Referenced by SymbolFileDWARF::InitializeObject().
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 204 of file AppleDWARFIndex.cpp.
References m_apple_names_up, m_apple_namespaces_up, m_apple_objc_up, m_apple_types_up, and lldb_private::Stream::PutCString().
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 100 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), lldb_private::ConstString::GetStringRef(), and m_apple_types_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 181 of file AppleDWARFIndex.cpp.
References lldb_private::Module::LookupInfo::GetLookupName(), lldb_private::ConstString::GetStringRef(), and m_apple_names_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 192 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), DWARFMappedHash::ExtractDIEArray(), lldb_private::RegularExpression::GetText(), and m_apple_names_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 65 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), DWARFMappedHash::ExtractDIEArray(), lldb_private::RegularExpression::GetText(), and m_apple_names_up.
|
overridevirtual |
Finds global variables with the given base name.
Any additional filtering (e.g., to only retrieve variables from a given context) should be done by the consumer.
Implements lldb_private::DWARFIndex.
Definition at line 56 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), lldb_private::ConstString::GetStringRef(), and m_apple_names_up.
|
overridevirtual |
cu must be the skeleton unit if possible, not GetNonSkeletonUnit().
Implements lldb_private::DWARFIndex.
Definition at line 78 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), DWARFMappedHash::ExtractDIEArray(), DWARFUnit::GetNextUnitOffset(), DWARFUnit::GetNonSkeletonUnit(), DWARFUnit::GetOffset(), and m_apple_names_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 173 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), lldb_private::ConstString::GetStringRef(), and m_apple_namespaces_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 91 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), lldb_private::ConstString::GetStringRef(), and m_apple_objc_up.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 119 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), DWARFMappedHash::eAtomTypeQualNameHash, DWARFMappedHash::eAtomTypeTag, lldb_private::GetLog(), DWARFDeclContext::GetQualifiedName(), DWARFDeclContext::GetSize(), lldb_private::ConstString::GetStringRef(), lldb_private::Module::LogMessage(), lldb_private::Lookups, m_apple_types_up, lldb_private::DWARFIndex::m_module, and lldb_private::TypeCompletion.
|
overridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 111 of file AppleDWARFIndex.cpp.
References lldb_private::DWARFIndex::DIERefCallback(), lldb_private::ConstString::GetStringRef(), and m_apple_types_up.
|
inlineoverridevirtual |
Implements lldb_private::DWARFIndex.
Definition at line 33 of file AppleDWARFIndex.h.
|
private |
Definition at line 65 of file AppleDWARFIndex.h.
Referenced by Dump(), GetFunctions(), and GetGlobalVariables().
|
private |
Definition at line 66 of file AppleDWARFIndex.h.
Referenced by Dump(), and GetNamespaces().
|
private |
Definition at line 68 of file AppleDWARFIndex.h.
Referenced by Dump(), and GetObjCMethods().
|
private |
Definition at line 67 of file AppleDWARFIndex.h.
Referenced by Dump(), GetCompleteObjCClass(), and GetTypes().