LLVM: llvm::DWARFTypeUnit Class Reference (original) (raw)

Public Member Functions

DWARFTypeUnit (DWARFContext &Context, const DWARFSection &Section, const DWARFUnitHeader &Header, const DWARFDebugAbbrev *DA, const DWARFSection *RS, const DWARFSection *LocSection, StringRef SS, const DWARFSection &SOS, const DWARFSection *AOS, const DWARFSection &LS, bool LE, bool IsDWO, const DWARFUnitVector &UnitVector)

uint64_t

getTypeHash () const

uint64_t

getTypeOffset () const

void

dump (raw_ostream &OS, DIDumpOptions DumpOpts={}) override

Public Member Functions inherited from llvm::DWARFUnit

DWARFUnit (DWARFContext &Context, const DWARFSection &Section, const DWARFUnitHeader &Header, const DWARFDebugAbbrev *DA, const DWARFSection *RS, const DWARFSection *LocSection, StringRef SS, const DWARFSection &SOS, const DWARFSection *AOS, const DWARFSection &LS, bool LE, bool IsDWO, const DWARFUnitVector &UnitVector)

virtual

~DWARFUnit ()

bool

isLittleEndian () const

bool

isDWOUnit () const

DWARFContext &

getContext () const

const DWARFSection &

getInfoSection () const

uint64_t

getOffset () const

const dwarf::FormParams &

getFormParams () const

uint16_t

getVersion () const

uint8_t

getAddressByteSize () const

uint8_t

getRefAddrByteSize () const

uint8_t

getDwarfOffsetByteSize () const

uint32_t

getHeaderSize () const

Size in bytes of the parsed unit header.

uint64_t

getLength () const

dwarf::DwarfFormat

getFormat () const

uint8_t

getUnitType () const

bool

isTypeUnit () const

uint64_t

getAbbrOffset () const

uint64_t

getNextUnitOffset () const

const DWARFSection &

getLineSection () const

StringRef

getStringSection () const

const DWARFSection &

getStringOffsetSection () const

void

setSkeletonUnit (DWARFUnit *SU)

DWARFUnit *

getLinkedUnit ()

void

setAddrOffsetSection (const DWARFSection *AOS, uint64_t Base)

std::optional< uint64_t >

getAddrOffsetSectionBase () const

std::optional< uint64_t >

getIndexedAddressOffset (uint64_t Index)

Returns offset to the indexed address value inside .debug_addr section.

void

updateAddressDieMap (DWARFDie Die)

Recursively update address to Die map.

void

updateVariableDieMap (DWARFDie Die)

Recursively update address to variable Die map.

void

setRangesSection (const DWARFSection *RS, uint64_t Base)

uint64_t

getLocSectionBase () const

std::optional< object::SectionedAddress >

getAddrOffsetSectionItem (uint32_t Index) const

Expected< uint64_t >

getStringOffsetSectionItem (uint32_t Index) const

DWARFDataExtractor

getDebugInfoExtractor () const

DataExtractor

getStringExtractor () const

const DWARFLocationTable &

getLocationTable ()

Error

extractRangeList (uint64_t RangeListOffset, DWARFDebugRangeList &RangeList) const

Extract the range list referenced by this compile unit from the .debug_ranges section.

void

clear ()

const std::optional< StrOffsetsContributionDescriptor > &

getStringOffsetsTableContribution ()

uint8_t

getDwarfStringOffsetsByteSize () const

uint64_t

getStringOffsetsBase () const

uint64_t

getAbbreviationsOffset () const

const DWARFAbbreviationDeclarationSet *

getAbbreviations () const

std::optional< object::SectionedAddress >

getBaseAddress ()

DWARFDie

getUnitDIE (bool ExtractUnitDIEOnly=true)

DWARFDie

getNonSkeletonUnitDIE (bool ExtractUnitDIEOnly=true, StringRef DWOAlternativeLocation={})

const char *

getCompilationDir ()

std::optional< uint64_t >

getDWOId ()

void

setDWOId (uint64_t NewID)

Expected< DWARFAddressRangesVector >

findRnglistFromOffset (uint64_t Offset)

Return a vector of address ranges resulting from a (possibly encoded) range list starting at a given offset in the appropriate ranges section.

Expected< DWARFAddressRangesVector >

findRnglistFromIndex (uint32_t Index)

Return a vector of address ranges retrieved from an encoded range list whose offset is found via a table lookup given an index (DWARF v5 and later).

std::optional< uint64_t >

getRnglistOffset (uint32_t Index)

Return a rangelist's offset based on an index.

std::optional< uint64_t >

getLoclistOffset (uint32_t Index)

Expected< DWARFAddressRangesVector >

collectAddressRanges ()

Expected< DWARFLocationExpressionsVector >

findLoclistFromOffset (uint64_t Offset)

DWARFDie

getSubroutineForAddress (uint64_t Address)

Returns subprogram DIE with address range encompassing the provided address.

DWARFDie

getVariableForAddress (uint64_t Address)

Returns variable DIE for the address provided.

void

getInlinedChainForAddress (uint64_t Address, SmallVectorImpl< DWARFDie > &InlinedChain)

getInlinedChainForAddress - fetches inlined chain for a given address.

const DWARFUnitVector &

getUnitVector () const

Return the DWARFUnitVector containing this unit.

unsigned

getNumDIEs ()

Returns the number of DIEs in the unit.

uint32_t

getDIEIndex (const DWARFDie &D) const

Return the index of a DIE inside the unit's DIE vector.

DWARFDie

getDIEAtIndex (unsigned Index)

Return the DIE object at the given index Index.

DWARFDie

getParent (const DWARFDebugInfoEntry *Die)

DWARFDie

getSibling (const DWARFDebugInfoEntry *Die)

DWARFDie

getPreviousSibling (const DWARFDebugInfoEntry *Die)

DWARFDie

getFirstChild (const DWARFDebugInfoEntry *Die)

DWARFDie

getLastChild (const DWARFDebugInfoEntry *Die)

DWARFDie

getDIEForOffset (uint64_t Offset)

Return the DIE object for a given offset Offset inside the unit's DIE vector.

std::optional< uint32_t >

getDIEIndexForOffset (uint64_t Offset)

Return the DIE index for a given offset Offset inside the unit's DIE vector.

uint32_t

getLineTableOffset () const

die_iterator_range

dies ()

Error

tryExtractDIEsIfNeeded (bool CUDieOnly)

Definition at line 24 of file DWARFTypeUnit.h.