LLDB  mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DWARFMappedHash::MemoryTable Class Reference

#include <HashedNameToDIE.h>

Inheritance diagram for DWARFMappedHash::MemoryTable:
Inheritance graph
[legend]
Collaboration diagram for DWARFMappedHash::MemoryTable:
Collaboration graph
[legend]

Public Member Functions

 MemoryTable (lldb_private::DWARFDataExtractor &table_data, const lldb_private::DWARFDataExtractor &string_table, const char *name)
 
const char * GetStringForKeyType (KeyType key) const override
 
bool ReadHashData (uint32_t hash_data_offset, HashData &hash_data) const override
 
size_t AppendAllDIEsThatMatchingRegex (const lldb_private::RegularExpression &regex, DIEInfoArray &die_info_array) const
 
size_t AppendAllDIEsInRange (const uint32_t die_offset_start, const uint32_t die_offset_end, DIEInfoArray &die_info_array) const
 
size_t FindByName (llvm::StringRef name, DIEArray &die_offsets)
 
size_t FindByNameAndTag (llvm::StringRef name, const dw_tag_t tag, DIEArray &die_offsets)
 
size_t FindByNameAndTagAndQualifiedNameHash (llvm::StringRef name, const dw_tag_t tag, const uint32_t qualified_name_hash, DIEArray &die_offsets)
 
size_t FindCompleteObjCClassByName (llvm::StringRef name, DIEArray &die_offsets, bool must_be_implementation)
 
- Public Member Functions inherited from MappedHash::MemoryTable< uint32_t, DWARFMappedHash::Header, DIEInfoArray >
 MemoryTable (lldb_private::DataExtractor &data)
 
virtual ~MemoryTable ()=default
 
bool IsValid () const
 
uint32_t GetHashIndex (uint32_t bucket_idx) const
 
uint32_t GetHashValue (uint32_t hash_idx) const
 
uint32_t GetHashDataOffset (uint32_t hash_idx) const
 
bool Find (llvm::StringRef name, Pair &pair) const
 
virtual const char * GetStringForKeyType (KeyType key) const=0
 
virtual bool ReadHashData (uint32_t hash_data_offset, HashData &hash_data) const=0
 
const HeaderTypeGetHeader ()
 
void ForEach (std::function< bool(const HashData &hash_data)> const &callback) const
 

Protected Member Functions

Result AppendHashDataForRegularExpression (const lldb_private::RegularExpression &regex, lldb::offset_t *hash_data_offset_ptr, Pair &pair) const
 
size_t FindByName (llvm::StringRef name, DIEInfoArray &die_info_array)
 
Result GetHashDataForName (llvm::StringRef name, lldb::offset_t *hash_data_offset_ptr, Pair &pair) const override
 

Protected Attributes

lldb_private::DWARFDataExtractor m_data
 
lldb_private::DWARFDataExtractor m_string_table
 
std::string m_name
 
- Protected Attributes inherited from MappedHash::MemoryTable< uint32_t, DWARFMappedHash::Header, DIEInfoArray >
HeaderType m_header
 
const uint32_tm_hash_indexes
 
const uint32_tm_hash_values
 
const uint32_tm_hash_offsets
 

Additional Inherited Members

- Public Types inherited from MappedHash::MemoryTable< uint32_t, DWARFMappedHash::Header, DIEInfoArray >
enum  Result
 
typedef DWARFMappedHash::Header HeaderType
 
typedef uint32_t KeyType
 
typedef DIEInfoArray HashData
 

Detailed Description

Definition at line 111 of file HashedNameToDIE.h.

Constructor & Destructor Documentation

◆ MemoryTable()

DWARFMappedHash::MemoryTable::MemoryTable ( lldb_private::DWARFDataExtractor table_data,
const lldb_private::DWARFDataExtractor string_table,
const char *  name 
)

Definition at line 307 of file HashedNameToDIE.cpp.

Member Function Documentation

◆ AppendAllDIEsInRange()

size_t DWARFMappedHash::MemoryTable::AppendAllDIEsInRange ( const uint32_t  die_offset_start,
const uint32_t  die_offset_end,
DIEInfoArray die_info_array 
) const

◆ AppendAllDIEsThatMatchingRegex()

size_t DWARFMappedHash::MemoryTable::AppendAllDIEsThatMatchingRegex ( const lldb_private::RegularExpression regex,
DIEInfoArray die_info_array 
) const

◆ AppendHashDataForRegularExpression()

DWARFMappedHash::MemoryTable::Result DWARFMappedHash::MemoryTable::AppendHashDataForRegularExpression ( const lldb_private::RegularExpression regex,
lldb::offset_t hash_data_offset_ptr,
Pair &  pair 
) const
protected

◆ FindByName() [1/2]

size_t DWARFMappedHash::MemoryTable::FindByName ( llvm::StringRef  name,
DIEArray die_offsets 
)

◆ FindByName() [2/2]

size_t DWARFMappedHash::MemoryTable::FindByName ( llvm::StringRef  name,
DIEInfoArray die_info_array 
)
protected

◆ FindByNameAndTag()

size_t DWARFMappedHash::MemoryTable::FindByNameAndTag ( llvm::StringRef  name,
const dw_tag_t  tag,
DIEArray die_offsets 
)

Definition at line 539 of file HashedNameToDIE.cpp.

References DWARFMappedHash::ExtractDIEArray(), and FindByName().

◆ FindByNameAndTagAndQualifiedNameHash()

size_t DWARFMappedHash::MemoryTable::FindByNameAndTagAndQualifiedNameHash ( llvm::StringRef  name,
const dw_tag_t  tag,
const uint32_t  qualified_name_hash,
DIEArray die_offsets 
)

Definition at line 548 of file HashedNameToDIE.cpp.

References DWARFMappedHash::ExtractDIEArray(), and FindByName().

◆ FindCompleteObjCClassByName()

size_t DWARFMappedHash::MemoryTable::FindCompleteObjCClassByName ( llvm::StringRef  name,
DIEArray die_offsets,
bool  must_be_implementation 
)

◆ GetHashDataForName()

DWARFMappedHash::MemoryTable::Result DWARFMappedHash::MemoryTable::GetHashDataForName ( llvm::StringRef  name,
lldb::offset_t hash_data_offset_ptr,
Pair &  pair 
) const
overrideprotectedvirtual

◆ GetStringForKeyType()

const char * DWARFMappedHash::MemoryTable::GetStringForKeyType ( KeyType  key) const
override

Definition at line 314 of file HashedNameToDIE.cpp.

References m_string_table, and lldb_private::DataExtractor::PeekCStr().

◆ ReadHashData()

bool DWARFMappedHash::MemoryTable::ReadHashData ( uint32_t  hash_data_offset,
HashData hash_data 
) const
override

Member Data Documentation

◆ m_data

lldb_private::DWARFDataExtractor DWARFMappedHash::MemoryTable::m_data
protected

◆ m_name

std::string DWARFMappedHash::MemoryTable::m_name
protected

Definition at line 158 of file HashedNameToDIE.h.

◆ m_string_table

lldb_private::DWARFDataExtractor DWARFMappedHash::MemoryTable::m_string_table
protected

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