LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::DWARFContext Class Referenceabstract

#include <DWARFContext.h>

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

Classes

struct  Section
 

Public Member Functions

 DWARFContext ()
 
virtual ~DWARFContext ()
 
virtual void dump (raw_ostream &OS, DIDumpType DumpType=DIDT_All)
 
unsigned getNumCompileUnits ()
 Get the number of compile units in this context. More...
 
unsigned getNumTypeUnits ()
 Get the number of compile units in this context. More...
 
unsigned getNumDWOCompileUnits ()
 Get the number of compile units in the DWO context. More...
 
DWARFCompileUnitgetCompileUnitAtIndex (unsigned index)
 Get the compile unit at the specified index for this compile unit. More...
 
DWARFTypeUnitgetTypeUnitAtIndex (unsigned index)
 Get the type unit at the specified index for this compile unit. More...
 
DWARFCompileUnitgetDWOCompileUnitAtIndex (unsigned index)
 Get the compile unit at the specified index for the DWO compile units. More...
 
const DWARFDebugAbbrevgetDebugAbbrev ()
 Get a pointer to the parsed DebugAbbrev object. More...
 
const DWARFDebugLocgetDebugLoc ()
 Get a pointer to the parsed DebugLoc object. More...
 
const DWARFDebugAbbrevgetDebugAbbrevDWO ()
 Get a pointer to the parsed dwo abbreviations object. More...
 
const DWARFDebugArangesgetDebugAranges ()
 Get a pointer to the parsed DebugAranges object. More...
 
const DWARFDebugFramegetDebugFrame ()
 Get a pointer to the parsed frame information object. More...
 
const DWARFDebugLine::LineTablegetLineTableForCompileUnit (DWARFCompileUnit *cu)
 Get a pointer to a parsed line table corresponding to a compile unit. More...
 
virtual DILineInfo getLineInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())
 
virtual DILineInfoTable getLineInfoForAddressRange (uint64_t Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier())
 
virtual DIInliningInfo getInliningInfoForAddress (uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())
 
virtual bool isLittleEndian () const =0
 
virtual uint8_t getAddressSize () const =0
 
virtual const SectiongetInfoSection ()=0
 
virtual const std::map
< object::SectionRef, Section > & 
getTypesSections ()=0
 
virtual StringRef getAbbrevSection ()=0
 
virtual const SectiongetLocSection ()=0
 
virtual StringRef getARangeSection ()=0
 
virtual StringRef getDebugFrameSection ()=0
 
virtual const SectiongetLineSection ()=0
 
virtual StringRef getStringSection ()=0
 
virtual StringRef getRangeSection ()=0
 
virtual StringRef getPubNamesSection ()=0
 
virtual StringRef getPubTypesSection ()=0
 
virtual StringRef getGnuPubNamesSection ()=0
 
virtual StringRef getGnuPubTypesSection ()=0
 
virtual const SectiongetInfoDWOSection ()=0
 
virtual StringRef getAbbrevDWOSection ()=0
 
virtual StringRef getStringDWOSection ()=0
 
virtual StringRef getStringOffsetDWOSection ()=0
 
virtual StringRef getRangeDWOSection ()=0
 
virtual StringRef getAddrSection ()=0
 
- Public Member Functions inherited from llvm::DIContext
DIContextKind getKind () const
 
 DIContext (DIContextKind K)
 
virtual ~DIContext ()
 

Static Public Member Functions

static bool classof (const DIContext *DICtx)
 
static bool isSupportedVersion (unsigned version)
 
- Static Public Member Functions inherited from llvm::DIContext
static DIContextgetDWARFContext (object::ObjectFile *)
 getDWARFContext - get a context for binary DWARF data. More...
 

Additional Inherited Members

- Public Types inherited from llvm::DIContext
enum  DIContextKind { CK_DWARF }
 

Detailed Description

DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. The actual data is supplied through pure virtual methods that a concrete implementation provides.

Definition at line 30 of file DWARFContext.h.

Constructor & Destructor Documentation

llvm::DWARFContext::DWARFContext ( )
inline

Definition at line 61 of file DWARFContext.h.

DWARFContext::~DWARFContext ( )
virtual

Definition at line 26 of file DWARFContext.cpp.

References llvm::DeleteContainerPointers().

Member Function Documentation

static bool llvm::DWARFContext::classof ( const DIContext DICtx)
inlinestatic

Definition at line 64 of file DWARFContext.h.

References llvm::DIContext::CK_DWARF, and llvm::DIContext::getKind().

void DWARFContext::dump ( raw_ostream OS,
DIDumpType  DumpType = DIDT_All 
)
virtual
virtual StringRef llvm::DWARFContext::getAbbrevDWOSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getAbbrevSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual uint8_t llvm::DWARFContext::getAddressSize ( ) const
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getAddrSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getARangeSection ( )
pure virtual
DWARFCompileUnit* llvm::DWARFContext::getCompileUnitAtIndex ( unsigned  index)
inline

Get the compile unit at the specified index for this compile unit.

Definition at line 92 of file DWARFContext.h.

Referenced by llvm::DWARFDebugAranges::generate().

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev ( )

Get a pointer to the parsed DebugAbbrev object.

Definition at line 197 of file DWARFContext.cpp.

const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO ( )

Get a pointer to the parsed dwo abbreviations object.

Definition at line 208 of file DWARFContext.cpp.

const DWARFDebugAranges * DWARFContext::getDebugAranges ( )

Get a pointer to the parsed DebugAranges object.

Definition at line 230 of file DWARFContext.cpp.

References llvm::DWARFDebugAranges::generate().

const DWARFDebugFrame * DWARFContext::getDebugFrame ( )

Get a pointer to the parsed frame information object.

Definition at line 239 of file DWARFContext.cpp.

virtual StringRef llvm::DWARFContext::getDebugFrameSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

const DWARFDebugLoc * DWARFContext::getDebugLoc ( )

Get a pointer to the parsed DebugLoc object.

Definition at line 218 of file DWARFContext.cpp.

DWARFCompileUnit* llvm::DWARFContext::getDWOCompileUnitAtIndex ( unsigned  index)
inline

Get the compile unit at the specified index for the DWO compile units.

Definition at line 106 of file DWARFContext.h.

virtual StringRef llvm::DWARFContext::getGnuPubNamesSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getGnuPubTypesSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual const Section& llvm::DWARFContext::getInfoDWOSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual const Section& llvm::DWARFContext::getInfoSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

DIInliningInfo DWARFContext::getInliningInfoForAddress ( uint64_t  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
virtual
DILineInfo DWARFContext::getLineInfoForAddress ( uint64_t  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
virtual
DILineInfoTable DWARFContext::getLineInfoForAddressRange ( uint64_t  Address,
uint64_t  Size,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
virtual
virtual const Section& llvm::DWARFContext::getLineSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

const DWARFLineTable * DWARFContext::getLineTableForCompileUnit ( DWARFCompileUnit cu)

Get a pointer to a parsed line table corresponding to a compile unit.

Definition at line 260 of file DWARFContext.cpp.

References llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset(), and llvm::DWARFUnit::getCompileUnitDIE().

virtual const Section& llvm::DWARFContext::getLocSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

unsigned llvm::DWARFContext::getNumCompileUnits ( )
inline

Get the number of compile units in this context.

Definition at line 71 of file DWARFContext.h.

Referenced by llvm::DWARFDebugAranges::generate().

unsigned llvm::DWARFContext::getNumDWOCompileUnits ( )
inline

Get the number of compile units in the DWO context.

Definition at line 85 of file DWARFContext.h.

unsigned llvm::DWARFContext::getNumTypeUnits ( )
inline

Get the number of compile units in this context.

Definition at line 78 of file DWARFContext.h.

virtual StringRef llvm::DWARFContext::getPubNamesSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getPubTypesSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getRangeDWOSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getRangeSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getStringDWOSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getStringOffsetDWOSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual StringRef llvm::DWARFContext::getStringSection ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

virtual const std::map<object::SectionRef, Section>& llvm::DWARFContext::getTypesSections ( )
pure virtual

Implemented in llvm::DWARFContextInMemory.

DWARFTypeUnit* llvm::DWARFContext::getTypeUnitAtIndex ( unsigned  index)
inline

Get the type unit at the specified index for this compile unit.

Definition at line 99 of file DWARFContext.h.

virtual bool llvm::DWARFContext::isLittleEndian ( ) const
pure virtual
static bool llvm::DWARFContext::isSupportedVersion ( unsigned  version)
inlinestatic

Definition at line 162 of file DWARFContext.h.

Referenced by llvm::DWARFUnit::extractImpl().


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