LLDB mainline
|
Identifies a DWARF debug info entry within a given Module. More...
#include <DIERef.h>
Public Types | |
enum | Section : uint8_t { DebugInfo , DebugTypes } |
Public Member Functions | |
DIERef (std::optional< uint32_t > file_index, Section section, dw_offset_t die_offset) | |
DIERef (lldb::user_id_t uid) | |
lldb::user_id_t | get_id () const |
std::optional< uint32_t > | file_index () const |
Section | section () const |
dw_offset_t | die_offset () const |
bool | operator< (DIERef other) const |
bool | operator== (const DIERef &rhs) const |
bool | operator!= (const DIERef &rhs) const |
void | Encode (DataEncoder &encoder) const |
Encode this object into a data encoder object. | |
Static Public Member Functions | |
static std::optional< DIERef > | Decode (const DataExtractor &data, lldb::offset_t *offset_ptr) |
Decode a serialized version of this object from data. | |
Static Public Attributes | |
static constexpr uint64_t | k_die_offset_bit_size = DW_DIE_OFFSET_MAX_BITSIZE |
static constexpr uint64_t | k_file_index_bit_size |
static constexpr uint64_t | k_file_index_valid_bit |
static constexpr uint64_t | k_section_bit |
static constexpr uint64_t | k_file_index_mask = (~0ull) >> (64 - k_file_index_bit_size) |
static constexpr uint64_t | k_die_offset_mask |
Private Attributes | |
dw_offset_t | m_die_offset: k_die_offset_bit_size |
dw_offset_t | m_file_index: k_file_index_bit_size |
dw_offset_t | m_file_index_valid: 1 |
dw_offset_t | m_section: 1 |
Identifies a DWARF debug info entry within a given Module.
It contains three "coordinates":
enum lldb_private::plugin::dwarf::DIERef::Section : uint8_t |
|
inline |
Definition at line 33 of file DIERef.h.
References file_index().
|
inlineexplicit |
Definition at line 40 of file DIERef.h.
References DebugInfo, DebugTypes, k_die_offset_bit_size, k_die_offset_mask, k_file_index_mask, k_file_index_valid_bit, k_section_bit, m_die_offset, m_file_index, m_file_index_valid, and m_section.
|
static |
Decode a serialized version of this object from data.
data | The decoder object that references the serialized data. |
offset_ptr | A pointer that contains the offset from which the data will be decoded from that gets updated as data gets decoded. |
Definition at line 27 of file DIERef.cpp.
References die_offset(), and lldb_private::DataExtractor::GetU64().
Referenced by lldb_private::plugin::dwarf::NameToDIE::Decode().
|
inline |
Definition at line 67 of file DIERef.h.
References m_die_offset.
Referenced by Decode(), lldb_private::plugin::dwarf::NameToDIE::FindAllEntriesForUnit(), get_id(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetDIE(), lldb_private::plugin::dwarf::SymbolFileDWARFDwo::GetDIE(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive(), and lldb_private::plugin::dwarf::DWARFIndex::ReportInvalidDIERef().
void DIERef::Encode | ( | DataEncoder & | encoder | ) | const |
Encode this object into a data encoder object.
This allows this object to be serialized to disk.
encoder | A data encoder object that serialized bytes will be encoded into. |
Definition at line 39 of file DIERef.cpp.
References lldb_private::DataEncoder::AppendU64(), and get_id().
|
inline |
Definition at line 59 of file DIERef.h.
References m_file_index, and m_file_index_valid.
Referenced by DIERef(), lldb_private::plugin::dwarf::NameToDIE::FindAllEntriesForUnit(), get_id(), lldb_private::plugin::dwarf::SymbolFileDWARFDwo::GetDIE(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetDIERefSymbolFile(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::GetOSOIndexFromUserID(), and operator==().
|
inline |
Definition at line 50 of file DIERef.h.
References DebugTypes, die_offset(), file_index(), k_die_offset_bit_size, k_die_offset_mask, k_file_index_valid_bit, k_section_bit, LLDB_INVALID_UID, m_die_offset, m_file_index_valid, and section().
Referenced by Encode().
|
inline |
|
inline |
Definition at line 69 of file DIERef.h.
References m_die_offset, m_file_index, m_file_index_valid, and m_section.
|
inline |
Definition at line 79 of file DIERef.h.
References file_index(), m_die_offset, and m_section.
|
inline |
Definition at line 65 of file DIERef.h.
References m_section.
Referenced by lldb_private::plugin::dwarf::NameToDIE::FindAllEntriesForUnit(), get_id(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetDIE(), and lldb_private::plugin::dwarf::SymbolFileDWARFDwo::GetDIE().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Definition at line 119 of file DIERef.h.
Referenced by DIERef(), lldb_private::plugin::dwarf::SymbolFileDWARF::GetDIERefSymbolFile(), and lldb_private::plugin::dwarf::SymbolFileDWARF::GetDwpSymbolFile().
|
staticconstexpr |
|
staticconstexpr |
|
private |
Definition at line 125 of file DIERef.h.
Referenced by die_offset(), DIERef(), get_id(), operator<(), and operator==().
|
private |
Definition at line 127 of file DIERef.h.
Referenced by DIERef(), file_index(), and operator<().
|
private |
Definition at line 129 of file DIERef.h.
Referenced by DIERef(), file_index(), get_id(), and operator<().
|
private |
Definition at line 131 of file DIERef.h.
Referenced by DIERef(), operator<(), operator==(), and section().