LLDB mainline
|
#include <DWARFTypeUnit.h>
Public Member Functions | |
void | BuildAddressRangeTable (DWARFDebugAranges *debug_aranges) override |
void | Dump (lldb_private::Stream *s) const override |
uint64_t | GetTypeHash () |
dw_offset_t | GetTypeOffset () |
![]() | |
virtual | ~DWARFUnit () |
bool | IsDWOUnit () |
std::optional< uint64_t > | GetDWOId () |
void | ExtractUnitDIEIfNeeded () |
void | ExtractUnitDIENoDwoIfNeeded () |
void | ExtractDIEsIfNeeded () |
ScopedExtractDIEs | ExtractDIEsScoped () |
bool | Verify (lldb_private::Stream *s) const |
virtual void | Dump (lldb_private::Stream *s) const =0 |
const lldb_private::DWARFDataExtractor & | GetData () const |
Get the data that contains the DIE information for this unit. | |
uint32_t | GetHeaderByteSize () const |
Get the size in bytes of the unit header. | |
dw_offset_t | GetOffset () const |
size_t | GetLengthByteSize () const |
Get the size in bytes of the length field in the header. | |
bool | ContainsDIEOffset (dw_offset_t die_offset) const |
dw_offset_t | GetFirstDIEOffset () const |
dw_offset_t | GetNextUnitOffset () const |
size_t | GetDebugInfoSize () const |
uint32_t | GetLength () const |
uint16_t | GetVersion () const |
const DWARFAbbreviationDeclarationSet * | GetAbbreviations () const |
dw_offset_t | GetAbbrevOffset () const |
uint8_t | GetAddressByteSize () const |
dw_addr_t | GetAddrBase () const |
dw_addr_t | GetBaseAddress () const |
dw_offset_t | GetLineTableOffset () |
dw_addr_t | GetRangesBase () const |
dw_addr_t | GetStrOffsetsBase () const |
void | SetAddrBase (dw_addr_t addr_base) |
void | SetLoclistsBase (dw_addr_t loclists_base) |
void | SetRangesBase (dw_addr_t ranges_base) |
void | SetStrOffsetsBase (dw_offset_t str_offsets_base) |
virtual void | BuildAddressRangeTable (DWARFDebugAranges *debug_aranges)=0 |
dw_addr_t | ReadAddressFromDebugAddrSection (uint32_t index) const |
lldb::ByteOrder | GetByteOrder () const |
const DWARFDebugAranges & | GetFunctionAranges () |
void | SetBaseAddress (dw_addr_t base_addr) |
DWARFBaseDIE | GetUnitDIEOnly () |
DWARFDIE | DIE () |
DWARFDIE | GetDIE (dw_offset_t die_offset) |
DWARFUnit & | GetNonSkeletonUnit () |
void * | GetUserData () const |
void | SetUserData (void *d) |
bool | Supports_DW_AT_APPLE_objc_complete_type () |
bool | DW_AT_decl_file_attributes_are_invalid () |
bool | Supports_unnamed_objc_bitfields () |
SymbolFileDWARF & | GetSymbolFileDWARF () const |
DWARFProducer | GetProducer () |
llvm::VersionTuple | GetProducerVersion () |
uint64_t | GetDWARFLanguageType () |
bool | GetIsOptimized () |
const lldb_private::FileSpec & | GetCompilationDirectory () |
const lldb_private::FileSpec & | GetAbsolutePath () |
lldb_private::FileSpec | GetFile (size_t file_idx) |
lldb_private::FileSpec::Style | GetPathStyle () |
SymbolFileDWARFDwo * | GetDwoSymbolFile () |
die_iterator_range | dies () |
DIERef::Section | GetDebugSection () const |
uint8_t | GetUnitType () const |
bool | IsTypeUnit () const |
bool | IsSkeletonUnit () const |
Note that this check only works for DWARF5+. | |
std::optional< uint64_t > | GetStringOffsetSectionItem (uint32_t index) const |
llvm::Expected< DWARFRangeList > | FindRnglistFromOffset (dw_offset_t offset) |
Return a list of address ranges resulting from a (possibly encoded) range list starting at a given offset in the appropriate ranges section. | |
llvm::Expected< DWARFRangeList > | FindRnglistFromIndex (uint32_t index) |
Return a list of address ranges retrieved from an encoded range list whose offset is found via a table lookup given an index (DWARF v5 and later). | |
llvm::Expected< uint64_t > | GetRnglistOffset (uint32_t Index) |
Return a rangelist's offset based on an index. | |
std::optional< uint64_t > | GetLoclistOffset (uint32_t Index) |
std::unique_ptr< llvm::DWARFLocationTable > | GetLocationTable (const lldb_private::DataExtractor &data) const |
Return the location table for parsing the given location list data. | |
lldb_private::DWARFDataExtractor | GetLocationData () const |
bool | HasAny (llvm::ArrayRef< dw_tag_t > tags) |
Returns true if any DIEs in the unit match any DW_TAG values in tags. | |
const lldb_private::Status & | GetDwoError () const |
Get the fission .dwo file specific error for this compile unit. | |
void | SetDwoError (const lldb_private::Status &error) |
Set the fission .dwo file specific error for this compile unit. | |
![]() | |
UserID (lldb::user_id_t uid=LLDB_INVALID_UID) | |
Construct with optional user ID. | |
~UserID ()=default | |
Destructor. | |
void | Clear () |
Clears the object state. | |
lldb::user_id_t | GetID () const |
Get accessor for the user ID. | |
void | SetID (lldb::user_id_t uid) |
Set accessor for the user ID. | |
Static Public Member Functions | |
static bool | classof (const DWARFUnit *unit) |
![]() | |
static llvm::Expected< DWARFUnitSP > | extract (SymbolFileDWARF &dwarf2Data, lldb::user_id_t uid, const lldb_private::DWARFDataExtractor &debug_info, DIERef::Section section, lldb::offset_t *offset_ptr) |
static uint8_t | GetAddressByteSize (const DWARFUnit *cu) |
static uint8_t | GetDefaultAddressSize () |
Private Member Functions | |
DWARFTypeUnit (SymbolFileDWARF &dwarf, lldb::user_id_t uid, const DWARFUnitHeader &header, const DWARFAbbreviationDeclarationSet &abbrevs, DIERef::Section section, bool is_dwo) | |
Friends | |
class | DWARFUnit |
Definition at line 15 of file DWARFTypeUnit.h.
|
inlineprivate |
Definition at line 28 of file DWARFTypeUnit.h.
|
inlineoverridevirtual |
Implements DWARFUnit.
Definition at line 17 of file DWARFTypeUnit.h.
|
inlinestatic |
Definition at line 25 of file DWARFTypeUnit.h.
References DWARFUnit::IsTypeUnit().
|
overridevirtual |
Implements DWARFUnit.
Definition at line 17 of file DWARFTypeUnit.cpp.
References lldb_private::Stream::Format(), DWARFUnit::GetAbbrevOffset(), DWARFUnit::GetAddressByteSize(), DWARFUnit::GetLength(), DWARFUnit::GetNextUnitOffset(), DWARFUnit::GetOffset(), and DWARFUnit::GetVersion().
|
inline |
Definition at line 21 of file DWARFTypeUnit.h.
References DWARFUnitHeader::GetTypeHash(), and DWARFUnit::m_header.
|
inline |
Definition at line 23 of file DWARFTypeUnit.h.
References DWARFUnit::GetOffset(), DWARFUnitHeader::GetTypeOffset(), and DWARFUnit::m_header.
Referenced by DWARFFormValue::Reference().
|
friend |
Definition at line 34 of file DWARFTypeUnit.h.