LLDB  mainline
Public Member Functions | Static Public Member Functions | List of all members
DWARFCompileUnit Class Reference

#include <DWARFCompileUnit.h>

Inheritance diagram for DWARFCompileUnit:
Inheritance graph
Collaboration diagram for DWARFCompileUnit:
Collaboration graph

Public Member Functions

void Dump (lldb_private::Stream *s) const override
const lldb_private::DWARFDataExtractorGetData () const override
 Get the data that contains the DIE information for this unit. More...
uint32_t GetHeaderByteSize () const override
 Get the size in bytes of the header. More...
- Public Member Functions inherited from DWARFUnit
virtual ~DWARFUnit ()
void ExtractUnitDIEIfNeeded ()
void ExtractDIEsIfNeeded ()
ScopedExtractDIEs ExtractDIEsScoped ()
DWARFDIE LookupAddress (const dw_addr_t address)
size_t AppendDIEsWithTag (const dw_tag_t tag, std::vector< DWARFDIE > &dies, uint32_t depth=UINT32_MAX) const
bool Verify (lldb_private::Stream *s) const
dw_offset_t GetOffset () const
size_t GetLengthByteSize () const
 Get the size in bytes of the length field in the header. More...
bool ContainsDIEOffset (dw_offset_t die_offset) const
dw_offset_t GetFirstDIEOffset () const
dw_offset_t GetNextCompileUnitOffset () const
size_t GetDebugInfoSize () const
uint32_t GetLength () const
uint16_t GetVersion () const
const DWARFAbbreviationDeclarationSetGetAbbreviations () const
dw_offset_t GetAbbrevOffset () const
uint8_t GetAddressByteSize () const
dw_addr_t GetBaseAddress () const
dw_addr_t GetAddrBase () const
dw_addr_t GetRangesBase () const
dw_addr_t GetStrOffsetsBase () const
void SetAddrBase (dw_addr_t addr_base)
void SetRangesBase (dw_addr_t ranges_base)
void SetBaseObjOffset (dw_offset_t base_obj_offset)
void SetStrOffsetsBase (dw_offset_t str_offsets_base)
void BuildAddressRangeTable (SymbolFileDWARF *dwarf, DWARFDebugAranges *debug_aranges)
lldb::ByteOrder GetByteOrder () const
lldb_private::TypeSystemGetTypeSystem ()
const DWARFDebugArangesGetFunctionAranges ()
DWARFFormValue::FixedFormSizes GetFixedFormSizes ()
void SetBaseAddress (dw_addr_t base_addr)
DWARFBaseDIE GetUnitDIEOnly ()
DWARFDIE GetDIE (dw_offset_t die_offset)
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 ()
SymbolFileDWARFGetSymbolFileDWARF () const
DWARFProducer GetProducer ()
uint32_t GetProducerVersionMajor ()
uint32_t GetProducerVersionMinor ()
uint32_t GetProducerVersionUpdate ()
lldb::LanguageType GetLanguageType ()
bool GetIsOptimized ()
const lldb_private::FileSpecGetCompilationDirectory ()
lldb_private::FileSpec::Style GetPathStyle ()
SymbolFileDWARFDwoGetDwoSymbolFile () const
dw_offset_t GetBaseObjOffset () const
die_iterator_range dies ()
- Public Member Functions inherited from lldb_private::UserID
 UserID (lldb::user_id_t uid=LLDB_INVALID_UID)
 Construct with optional user ID. More...
 ~UserID ()
 Destructor. More...
void Clear ()
 Clears the object state. More...
lldb::user_id_t GetID () const
 Get accessor for the user ID. More...
void SetID (lldb::user_id_t uid)
 Set accessor for the user ID. More...

Static Public Member Functions

static llvm::Expected< DWARFUnitSPextract (SymbolFileDWARF *dwarf2Data, lldb::user_id_t uid, const lldb_private::DWARFDataExtractor &debug_info, lldb::offset_t *offset_ptr)
- Static Public Member Functions inherited from DWARFUnit
static uint8_t GetAddressByteSize (const DWARFUnit *cu)
static uint8_t GetDefaultAddressSize ()
static lldb::LanguageType LanguageTypeFromDWARF (uint64_t val)

Additional Inherited Members

- Protected Member Functions inherited from DWARFUnit
 DWARFUnit (SymbolFileDWARF *dwarf, lldb::user_id_t uid)
- Protected Attributes inherited from DWARFUnit
SymbolFileDWARFm_dwarf = nullptr
std::unique_ptr< SymbolFileDWARFDwom_dwo_symbol_file
const DWARFAbbreviationDeclarationSetm_abbrevs = nullptr
void * m_user_data = nullptr
DWARFDebugInfoEntry::collection m_die_array
llvm::sys::RWMutex m_die_array_mutex
llvm::sys::RWMutex m_die_array_scoped_mutex
std::atomic< bool > m_cancel_scopes
DWARFDebugInfoEntry m_first_die
llvm::sys::RWMutex m_first_die_mutex
std::unique_ptr< DWARFDebugArangesm_func_aranges_up
dw_addr_t m_base_addr = 0
dw_offset_t m_length = 0
uint16_t m_version = 0
uint8_t m_addr_size = 0
uint8_t m_unit_type = 0
uint64_t m_dwo_id = 0
DWARFProducer m_producer = eProducerInvalid
uint32_t m_producer_version_major = 0
uint32_t m_producer_version_minor = 0
uint32_t m_producer_version_update = 0
lldb::LanguageType m_language_type = lldb::eLanguageTypeUnknown
lldb_private::LazyBool m_is_optimized = lldb_private::eLazyBoolCalculate
llvm::Optional< lldb_private::FileSpecm_comp_dir
dw_addr_t m_addr_base = 0
dw_addr_t m_ranges_base = 0
dw_offset_t m_base_obj_offset = DW_INVALID_OFFSET
dw_offset_t m_str_offsets_base = 0
dw_offset_t m_offset
- Protected Attributes inherited from lldb_private::UserID
lldb::user_id_t m_uid
 The user ID that uniquely identifies an object. More...

Detailed Description

Definition at line 15 of file DWARFCompileUnit.h.

Member Function Documentation

◆ Dump()

void DWARFCompileUnit::Dump ( lldb_private::Stream s) const

Implements DWARFUnit.

Definition at line 83 of file DWARFCompileUnit.cpp.

References lldb_private::Stream::Printf().

◆ extract()

llvm::Expected< DWARFUnitSP > DWARFCompileUnit::extract ( SymbolFileDWARF dwarf2Data,
lldb::user_id_t  uid,
const lldb_private::DWARFDataExtractor debug_info,
lldb::offset_t offset_ptr 

◆ GetData()

const lldb_private::DWARFDataExtractor & DWARFCompileUnit::GetData ( ) const

Get the data that contains the DIE information for this unit.

The correct data (.debug_types for DWARF 4 and earlier, and .debug_info for DWARF 5 and later) for the DIE information in this unit.

Implements DWARFUnit.

Definition at line 109 of file DWARFCompileUnit.cpp.

◆ GetHeaderByteSize()

uint32_t DWARFCompileUnit::GetHeaderByteSize ( ) const

Get the size in bytes of the header.

Byte size of the compile unit header

Implements DWARFUnit.

Definition at line 91 of file DWARFCompileUnit.cpp.

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