LLVM  8.0.1
Public Member Functions | Static Public Member Functions | List of all members
llvm::DWARFTypeUnit Class Reference

#include "llvm/DebugInfo/DWARF/DWARFTypeUnit.h"

Inheritance diagram for llvm::DWARFTypeUnit:
Inheritance graph
[legend]
Collaboration diagram for llvm::DWARFTypeUnit:
Collaboration graph
[legend]

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
 
uint32_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 isDWOUnit () const
 
DWARFContextgetContext () const
 
const DWARFSectiongetInfoSection () const
 
const DWARFSectiongetLocSection () const
 
StringRef getLocSectionData () const
 
uint32_t getOffset () const
 
const dwarf::FormParamsgetFormParams () const
 
uint16_t getVersion () const
 
uint8_t getAddressByteSize () const
 
uint8_t getRefAddrByteSize () const
 
uint8_t getDwarfOffsetByteSize () const
 
uint32_t getLength () const
 
uint8_t getUnitType () const
 
bool isTypeUnit () const
 
uint32_t getNextUnitOffset () const
 
const DWARFSectiongetLineSection () const
 
StringRef getStringSection () const
 
const DWARFSectiongetStringOffsetSection () const
 
void setAddrOffsetSection (const DWARFSection *AOS, uint32_t Base)
 
void updateAddressDieMap (DWARFDie Die)
 Recursively update address to Die map. More...
 
void setRangesSection (const DWARFSection *RS, uint32_t Base)
 
Optional< SectionedAddressgetAddrOffsetSectionItem (uint32_t Index) const
 
Optional< uint64_t > getStringOffsetSectionItem (uint32_t Index) const
 
DWARFDataExtractor getDebugInfoExtractor () const
 
DataExtractor getStringExtractor () const
 
Error extractRangeList (uint32_t RangeListOffset, DWARFDebugRangeList &RangeList) const
 Extract the range list referenced by this compile unit from the .debug_ranges section. More...
 
void clear ()
 
const Optional< StrOffsetsContributionDescriptor > & getStringOffsetsTableContribution () const
 
uint8_t getDwarfStringOffsetsByteSize () const
 
uint64_t getStringOffsetsBase () const
 
const DWARFAbbreviationDeclarationSetgetAbbreviations () const
 
llvm::Optional< SectionedAddressgetBaseAddress ()
 
DWARFDie getUnitDIE (bool ExtractUnitDIEOnly=true)
 
const chargetCompilationDir ()
 
Optional< uint64_t > getDWOId ()
 
void setDWOId (uint64_t NewID)
 
Expected< DWARFAddressRangesVectorfindRnglistFromOffset (uint32_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. More...
 
Expected< DWARFAddressRangesVectorfindRnglistFromIndex (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). More...
 
Optional< uint32_tgetRnglistOffset (uint32_t Index)
 Return a rangelist's offset based on an index. More...
 
Expected< DWARFAddressRangesVectorcollectAddressRanges ()
 
DWARFDie getSubroutineForAddress (uint64_t Address)
 Returns subprogram DIE with address range encompassing the provided address. More...
 
void getInlinedChainForAddress (uint64_t Address, SmallVectorImpl< DWARFDie > &InlinedChain)
 getInlinedChainForAddress - fetches inlined chain for a given address. More...
 
const DWARFUnitVectorgetUnitVector () const
 Return the DWARFUnitVector containing this unit. More...
 
unsigned getNumDIEs ()
 Returns the number of DIEs in the unit. More...
 
uint32_t getDIEIndex (const DWARFDie &D)
 Return the index of a DIE inside the unit's DIE vector. More...
 
DWARFDie getDIEAtIndex (unsigned Index)
 Return the DIE object at the given index. More...
 
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 (uint32_t Offset)
 Return the DIE object for a given offset inside the unit's DIE vector. More...
 
uint32_t getLineTableOffset () const
 
die_iterator_range dies ()
 

Static Public Member Functions

static bool classof (const DWARFUnit *U)
 
- Static Public Member Functions inherited from llvm::DWARFUnit
static bool isMatchingUnitTypeAndTag (uint8_t UnitType, dwarf::Tag Tag)
 
static uint32_t getDWARF5HeaderSize (uint8_t UnitType)
 Return the number of bytes for the header of a unit of UnitType type. More...
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::DWARFUnit
const DWARFUnitHeadergetHeader () const
 
uint32_t getHeaderSize () const
 Size in bytes of the parsed unit header. More...
 
Optional< StrOffsetsContributionDescriptordetermineStringOffsetsTableContribution (DWARFDataExtractor &DA)
 Find the unit's contribution to the string offsets table and determine its length and form. More...
 
Optional< StrOffsetsContributionDescriptordetermineStringOffsetsTableContributionDWO (DWARFDataExtractor &DA)
 Find the unit's contribution to the string offsets table and determine its length and form. More...
 

Detailed Description

Definition at line 26 of file DWARFTypeUnit.h.

Constructor & Destructor Documentation

◆ DWARFTypeUnit()

llvm::DWARFTypeUnit::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 
)
inline

Definition at line 28 of file DWARFTypeUnit.h.

Member Function Documentation

◆ classof()

static bool llvm::DWARFTypeUnit::classof ( const DWARFUnit U)
inlinestatic

Definition at line 42 of file DWARFTypeUnit.h.

References llvm::DWARFUnit::isTypeUnit().

◆ dump()

void DWARFTypeUnit::dump ( raw_ostream OS,
DIDumpOptions  DumpOpts = {} 
)
overridevirtual

◆ getTypeHash()

uint64_t llvm::DWARFTypeUnit::getTypeHash ( ) const
inline

Definition at line 37 of file DWARFTypeUnit.h.

References llvm::DWARFUnit::getHeader(), and llvm::DWARFUnitHeader::getTypeHash().

Referenced by dump().

◆ getTypeOffset()

uint32_t llvm::DWARFTypeUnit::getTypeOffset ( ) const
inline

Definition at line 38 of file DWARFTypeUnit.h.

References dump(), llvm::DWARFUnit::getHeader(), and llvm::DWARFUnitHeader::getTypeOffset().

Referenced by dump().


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