LLVM  6.0.0svn
Public Member Functions | Static Public Attributes | Protected 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 DWARFDebugAbbrev *DA, const DWARFSection *RS, StringRef SS, const DWARFSection &SOS, const DWARFSection *AOS, const DWARFSection &LS, bool LE, bool IsDWO, const DWARFUnitSectionBase &UnitSection, const DWARFUnitIndex::Entry *Entry)
 
uint32_t getHeaderSize () const override
 Size in bytes of the unit header. More...
 
void dump (raw_ostream &OS, DIDumpOptions DumpOpts={})
 
- Public Member Functions inherited from llvm::DWARFUnit
 DWARFUnit (DWARFContext &Context, const DWARFSection &Section, const DWARFDebugAbbrev *DA, const DWARFSection *RS, StringRef SS, const DWARFSection &SOS, const DWARFSection *AOS, const DWARFSection &LS, bool LE, bool IsDWO, const DWARFUnitSectionBase &UnitSection, const DWARFUnitIndex::Entry *IndexEntry=nullptr)
 
virtual ~DWARFUnit ()
 
DWARFContextgetContext () 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)
 
bool getAddrOffsetSectionItem (uint32_t Index, uint64_t &Result) const
 
bool getStringOffsetSectionItem (uint32_t Index, uint64_t &Result) const
 
DWARFDataExtractor getDebugInfoExtractor () const
 
DataExtractor getStringExtractor () const
 
bool extract (DataExtractor debug_info, uint32_t *offset_ptr)
 
bool extractRangeList (uint32_t RangeListOffset, DWARFDebugRangeList &RangeList) const
 extractRangeList - extracts the range list referenced by this compile unit from .debug_ranges section. More...
 
void clear ()
 
uint32_t getOffset () const
 
uint32_t getNextUnitOffset () const
 
uint32_t getLength () const
 
const DWARFFormParamsgetFormParams () const
 
uint16_t getVersion () const
 
dwarf::DwarfFormat getFormat () const
 
uint8_t getAddressByteSize () const
 
uint8_t getRefAddrByteSize () const
 
uint8_t getDwarfOffsetByteSize () const
 
const DWARFAbbreviationDeclarationSetgetAbbreviations () const
 
uint8_t getUnitType () const
 
llvm::Optional< BaseAddressgetBaseAddress () const
 
void setBaseAddress (BaseAddress BaseAddr)
 
DWARFDie getUnitDIE (bool ExtractUnitDIEOnly=true)
 
const chargetCompilationDir ()
 
Optional< uint64_t > getDWOId ()
 
void collectAddressRanges (DWARFAddressRangesVector &CURanges)
 
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 DWARFUnitSectionBasegetUnitSection () const
 getUnitSection - Return the DWARFUnitSection 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 getFirstChild (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 Attributes

static const DWARFSectionKind Section = DW_SECT_TYPES
 

Protected Member Functions

bool extractImpl (DataExtractor debug_info, uint32_t *offset_ptr) override
 

Additional Inherited Members

- 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...
 

Detailed Description

Definition at line 26 of file DWARFTypeUnit.h.

Constructor & Destructor Documentation

◆ DWARFTypeUnit()

llvm::DWARFTypeUnit::DWARFTypeUnit ( DWARFContext Context,
const DWARFSection Section,
const DWARFDebugAbbrev DA,
const DWARFSection RS,
StringRef  SS,
const DWARFSection SOS,
const DWARFSection AOS,
const DWARFSection LS,
bool  LE,
bool  IsDWO,
const DWARFUnitSectionBase UnitSection,
const DWARFUnitIndex::Entry Entry 
)
inline

Definition at line 32 of file DWARFTypeUnit.h.

Member Function Documentation

◆ dump()

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

◆ extractImpl()

bool DWARFTypeUnit::extractImpl ( DataExtractor  debug_info,
uint32_t offset_ptr 
)
overrideprotectedvirtual

◆ getHeaderSize()

uint32_t llvm::DWARFTypeUnit::getHeaderSize ( ) const
inlineoverridevirtual

Size in bytes of the unit header.

Reimplemented from llvm::DWARFUnit.

Definition at line 41 of file DWARFTypeUnit.h.

References dump(), and llvm::DWARFUnit::getHeaderSize().

Member Data Documentation

◆ Section

const DWARFSectionKind llvm::DWARFTypeUnit::Section = DW_SECT_TYPES
static

Definition at line 46 of file DWARFTypeUnit.h.


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