LLDB mainline
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
lldb_private::AppleDWARFIndex Class Reference

#include <AppleDWARFIndex.h>

Inheritance diagram for lldb_private::AppleDWARFIndex:
Inheritance graph
[legend]

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 &regex, 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 &regex, llvm::function_ref< bool(DWARFDIE die)> callback) override
 
void Dump (Stream &s) override
 
- Public Member Functions inherited from lldb_private::DWARFIndex
 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 &regex, 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 &regex, 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< AppleDWARFIndexCreate (Module &module, DWARFDataExtractor apple_names, DWARFDataExtractor apple_namespaces, DWARFDataExtractor apple_types, DWARFDataExtractor apple_objc, DWARFDataExtractor debug_str)
 

Private Attributes

std::unique_ptr< DWARFMappedHash::MemoryTablem_apple_names_up
 
std::unique_ptr< DWARFMappedHash::MemoryTablem_apple_namespaces_up
 
std::unique_ptr< DWARFMappedHash::MemoryTablem_apple_types_up
 
std::unique_ptr< DWARFMappedHash::MemoryTablem_apple_objc_up
 

Additional Inherited Members

- Protected Member Functions inherited from lldb_private::DWARFIndex
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
 
- Protected Attributes inherited from lldb_private::DWARFIndex
Modulem_module
 
StatsDuration m_index_time
 

Detailed Description

Definition at line 16 of file AppleDWARFIndex.h.

Constructor & Destructor Documentation

◆ AppleDWARFIndex()

lldb_private::AppleDWARFIndex::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 
)
inline

Definition at line 23 of file AppleDWARFIndex.h.

Member Function Documentation

◆ Create()

std::unique_ptr< AppleDWARFIndex > AppleDWARFIndex::Create ( Module module,
DWARFDataExtractor  apple_names,
DWARFDataExtractor  apple_namespaces,
DWARFDataExtractor  apple_types,
DWARFDataExtractor  apple_objc,
DWARFDataExtractor  debug_str 
)
static

Definition at line 21 of file AppleDWARFIndex.cpp.

Referenced by SymbolFileDWARF::InitializeObject().

◆ Dump()

void AppleDWARFIndex::Dump ( Stream s)
overridevirtual

◆ GetCompleteObjCClass()

void AppleDWARFIndex::GetCompleteObjCClass ( ConstString  class_name,
bool  must_be_implementation,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetFunctions() [1/2]

void AppleDWARFIndex::GetFunctions ( const Module::LookupInfo lookup_info,
SymbolFileDWARF dwarf,
const CompilerDeclContext parent_decl_ctx,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetFunctions() [2/2]

void AppleDWARFIndex::GetFunctions ( const RegularExpression regex,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetGlobalVariables() [1/3]

void AppleDWARFIndex::GetGlobalVariables ( const RegularExpression regex,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetGlobalVariables() [2/3]

void AppleDWARFIndex::GetGlobalVariables ( ConstString  basename,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
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.

◆ GetGlobalVariables() [3/3]

void AppleDWARFIndex::GetGlobalVariables ( DWARFUnit cu,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetNamespaces()

void AppleDWARFIndex::GetNamespaces ( ConstString  name,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetObjCMethods()

void AppleDWARFIndex::GetObjCMethods ( ConstString  class_name,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetTypes() [1/2]

void AppleDWARFIndex::GetTypes ( const DWARFDeclContext context,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ GetTypes() [2/2]

void AppleDWARFIndex::GetTypes ( ConstString  name,
llvm::function_ref< bool(DWARFDIE die)>  callback 
)
overridevirtual

◆ Preload()

void lldb_private::AppleDWARFIndex::Preload ( )
inlineoverridevirtual

Implements lldb_private::DWARFIndex.

Definition at line 33 of file AppleDWARFIndex.h.

Member Data Documentation

◆ m_apple_names_up

std::unique_ptr<DWARFMappedHash::MemoryTable> lldb_private::AppleDWARFIndex::m_apple_names_up
private

Definition at line 65 of file AppleDWARFIndex.h.

Referenced by Dump(), GetFunctions(), and GetGlobalVariables().

◆ m_apple_namespaces_up

std::unique_ptr<DWARFMappedHash::MemoryTable> lldb_private::AppleDWARFIndex::m_apple_namespaces_up
private

Definition at line 66 of file AppleDWARFIndex.h.

Referenced by Dump(), and GetNamespaces().

◆ m_apple_objc_up

std::unique_ptr<DWARFMappedHash::MemoryTable> lldb_private::AppleDWARFIndex::m_apple_objc_up
private

Definition at line 68 of file AppleDWARFIndex.h.

Referenced by Dump(), and GetObjCMethods().

◆ m_apple_types_up

std::unique_ptr<DWARFMappedHash::MemoryTable> lldb_private::AppleDWARFIndex::m_apple_types_up
private

Definition at line 67 of file AppleDWARFIndex.h.

Referenced by Dump(), GetCompleteObjCClass(), and GetTypes().


The documentation for this class was generated from the following files: