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
[legend]
Collaboration diagram for DWARFCompileUnit:
Collaboration graph
[legend]

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 DIE ()
 
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
overridevirtual

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 
)
static

◆ GetData()

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

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

Returns
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
overridevirtual

Get the size in bytes of the header.

Returns
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: