LLDB mainline
|
Base class describing the header of any kind of "unit." Some information is specific to certain unit types. More...
#include <DWARFUnit.h>
Public Member Functions | |
dw_offset_t | GetOffset () const |
uint16_t | GetVersion () const |
uint16_t | GetAddressByteSize () const |
dw_offset_t | GetLength () const |
dw_offset_t | GetAbbrOffset () const |
uint8_t | GetUnitType () const |
const llvm::DWARFUnitIndex::Entry * | GetIndexEntry () const |
uint64_t | GetTypeHash () const |
dw_offset_t | GetTypeOffset () const |
std::optional< uint64_t > | GetDWOId () const |
bool | IsTypeUnit () const |
uint32_t | GetNextUnitOffset () const |
Static Public Member Functions | |
static llvm::Expected< DWARFUnitHeader > | extract (const lldb_private::DWARFDataExtractor &data, DIERef::Section section, lldb_private::DWARFContext &dwarf_context, lldb::offset_t *offset_ptr) |
Private Member Functions | |
DWARFUnitHeader ()=default | |
Private Attributes | |
dw_offset_t | m_offset = 0 |
dw_offset_t | m_length = 0 |
uint16_t | m_version = 0 |
dw_offset_t | m_abbr_offset = 0 |
const llvm::DWARFUnitIndex::Entry * | m_index_entry = nullptr |
uint8_t | m_unit_type = 0 |
uint8_t | m_addr_size = 0 |
uint64_t | m_type_hash = 0 |
uint32_t | m_type_offset = 0 |
std::optional< uint64_t > | m_dwo_id |
Base class describing the header of any kind of "unit." Some information is specific to certain unit types.
We separate this class out so we can parse the header before deciding what specific kind of unit to construct.
Definition at line 41 of file DWARFUnit.h.
|
privatedefault |
|
static |
Definition at line 879 of file DWARFUnit.cpp.
References DIERef::DebugTypes, lldb_private::DWARFContext::GetAsLLVM(), lldb_private::DWARFDataExtractor::GetDWARFInitialLength(), lldb_private::DWARFDataExtractor::GetDWARFOffset(), GetLength(), GetNextUnitOffset(), lldb_private::DataExtractor::GetU16(), lldb_private::DataExtractor::GetU64(), lldb_private::DataExtractor::GetU8(), lldb_private::DWARFContext::isDwo(), IsTypeUnit(), m_abbr_offset, m_addr_size, m_dwo_id, m_index_entry, m_length, m_offset, m_type_hash, m_type_offset, m_unit_type, m_version, SymbolFileDWARF::SupportedVersion(), and lldb_private::DataExtractor::ValidOffset().
Referenced by DWARFUnit::extract().
|
inline |
Definition at line 64 of file DWARFUnit.h.
References m_abbr_offset.
|
inline |
Definition at line 62 of file DWARFUnit.h.
References m_addr_size.
Referenced by DWARFUnit::FindRnglistFromOffset(), and DWARFUnit::GetAddressByteSize().
|
inline |
Definition at line 71 of file DWARFUnit.h.
References m_dwo_id.
|
inline |
Definition at line 66 of file DWARFUnit.h.
References m_index_entry.
Referenced by DWARFUnit::GetLocationData(), DWARFUnit::GetRnglistData(), DWARFUnit::SetDwoStrOffsetsBase(), and DWARFUnit::SetLoclistsBase().
|
inline |
Definition at line 63 of file DWARFUnit.h.
References m_length.
Referenced by extract(), and DWARFUnit::GetLength().
|
inline |
Definition at line 76 of file DWARFUnit.h.
References m_length, and m_offset.
Referenced by extract(), and DWARFUnit::GetNextUnitOffset().
|
inline |
Definition at line 60 of file DWARFUnit.h.
References m_offset.
Referenced by DWARFUnit::GetOffset().
|
inline |
Definition at line 69 of file DWARFUnit.h.
References m_type_hash.
Referenced by DWARFTypeUnit::GetTypeHash().
|
inline |
Definition at line 70 of file DWARFUnit.h.
References m_type_offset.
Referenced by DWARFTypeUnit::GetTypeOffset().
|
inline |
Definition at line 65 of file DWARFUnit.h.
References m_unit_type.
Referenced by DWARFUnit::GetHeaderByteSize(), and DWARFUnit::GetUnitType().
|
inline |
Definition at line 61 of file DWARFUnit.h.
References m_version.
Referenced by DWARFUnit::GetVersion().
|
inline |
Definition at line 72 of file DWARFUnit.h.
References m_unit_type.
Referenced by extract(), and DWARFUnit::IsTypeUnit().
|
private |
Definition at line 45 of file DWARFUnit.h.
Referenced by extract(), and GetAbbrOffset().
|
private |
Definition at line 50 of file DWARFUnit.h.
Referenced by extract(), and GetAddressByteSize().
|
private |
Definition at line 55 of file DWARFUnit.h.
Referenced by extract(), and GetDWOId().
|
private |
Definition at line 47 of file DWARFUnit.h.
Referenced by extract(), and GetIndexEntry().
|
private |
Definition at line 43 of file DWARFUnit.h.
Referenced by extract(), GetLength(), and GetNextUnitOffset().
|
private |
Definition at line 42 of file DWARFUnit.h.
Referenced by extract(), GetNextUnitOffset(), and GetOffset().
|
private |
Definition at line 52 of file DWARFUnit.h.
Referenced by extract(), and GetTypeHash().
|
private |
Definition at line 53 of file DWARFUnit.h.
Referenced by extract(), and GetTypeOffset().
|
private |
Definition at line 49 of file DWARFUnit.h.
Referenced by extract(), GetUnitType(), and IsTypeUnit().
|
private |
Definition at line 44 of file DWARFUnit.h.
Referenced by extract(), and GetVersion().