|
LLVM
4.0.0
|
DWARFContext This data structure is the top level entity that deals with dwarf debug information parsing. More...
#include <DWARFContext.h>
Public Types | |
| typedef DWARFUnitSection < DWARFCompileUnit > ::iterator_range | cu_iterator_range |
| typedef DWARFUnitSection < DWARFTypeUnit > ::iterator_range | tu_iterator_range |
| typedef iterator_range < decltype(TUs)::iterator > | tu_section_iterator_range |
| typedef MapVector < object::SectionRef, DWARFSection, std::map < object::SectionRef, unsigned > > | TypeSectionMap |
Public Types inherited from llvm::DIContext | |
| enum | DIContextKind { CK_DWARF, CK_PDB } |
Static Public Member Functions | |
| static bool | classof (const DIContext *DICtx) |
| static bool | isSupportedVersion (unsigned version) |
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 52 of file DWARFContext.h.
Definition at line 99 of file DWARFContext.h.
Definition at line 100 of file DWARFContext.h.
| typedef iterator_range<decltype(TUs)::iterator> llvm::DWARFContext::tu_section_iterator_range |
Definition at line 101 of file DWARFContext.h.
| typedef MapVector<object::SectionRef, DWARFSection, std::map<object::SectionRef, unsigned> > llvm::DWARFContext::TypeSectionMap |
Definition at line 205 of file DWARFContext.h.
|
inline |
Definition at line 88 of file DWARFContext.h.
|
delete |
Definition at line 92 of file DWARFContext.h.
References llvm::DIContext::CK_DWARF, and llvm::DIContext::getKind().
|
inline |
Get compile units in this context.
Definition at line 104 of file DWARFContext.h.
Referenced by llvm::DWARFDebugAranges::generate().
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 49 of file DWARFContext.cpp.
References llvm::DWARFDebugLine::LineTable::clear(), D, llvm::DIDT_Abbrev, llvm::DIDT_AbbrevDwo, llvm::DIDT_All, llvm::DIDT_AppleNames, llvm::DIDT_AppleNamespaces, llvm::DIDT_AppleObjC, llvm::DIDT_AppleTypes, llvm::DIDT_Aranges, llvm::DIDT_CUIndex, llvm::DIDT_Frames, llvm::DIDT_GdbIndex, llvm::DIDT_GnuPubnames, llvm::DIDT_GnuPubtypes, llvm::DIDT_Info, llvm::DIDT_InfoDwo, llvm::DIDT_Line, llvm::DIDT_LineDwo, llvm::DIDT_Loc, llvm::DIDT_LocDwo, llvm::DIDT_Macro, llvm::DIDT_Pubnames, llvm::DIDT_Pubtypes, llvm::DIDT_Ranges, llvm::DIDT_Str, llvm::DIDT_StrDwo, llvm::DIDT_StrOffsetsDwo, llvm::DIDT_TUIndex, llvm::DIDT_Types, llvm::DIDT_TypesDwo, llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFDebugPubTable::dump(), llvm::DWARFDebugLine::LineTable::dump(), dumpAccelSection(), llvm::DWARFDebugArangeSet::extract(), llvm::DWARFDebugRangeList::extract(), llvm::format(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU32(), llvm::isLittleEndian(), Offset, llvm::DWARFDebugLine::Prologue::parse(), llvm::DWARFDebugLine::LineTable::parse(), and llvm::DWARFDebugLine::LineTable::Prologue.
|
inline |
Get compile units in the DWO context.
Definition at line 116 of file DWARFContext.h.
|
inline |
Get type units in the DWO context.
Definition at line 122 of file DWARFContext.h.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parse(), and llvm::DWARFUnitSectionBase::parseDWO().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFDebugAranges::generate().
|
inline |
Get the compile unit at the specified index for this compile unit.
Definition at line 152 of file DWARFContext.h.
| const DWARFUnitIndex & DWARFContext::getCUIndex | ( | ) |
Definition at line 256 of file DWARFContext.cpp.
References llvm::DW_SECT_INFO, and llvm::isLittleEndian().
Referenced by llvm::getDWARFUnitIndex().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
| const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev | ( | ) |
Get a pointer to the parsed DebugAbbrev object.
Definition at line 288 of file DWARFContext.cpp.
References llvm::isLittleEndian().
Referenced by llvm::DWARFUnitSectionBase::parse().
| const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO | ( | ) |
Get a pointer to the parsed dwo abbreviations object.
Definition at line 299 of file DWARFContext.cpp.
References llvm::isLittleEndian().
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
| const DWARFDebugAranges * DWARFContext::getDebugAranges | ( | ) |
Get a pointer to the parsed DebugAranges object.
Definition at line 331 of file DWARFContext.cpp.
References llvm::DWARFDebugAranges::generate().
| const DWARFDebugFrame * DWARFContext::getDebugFrame | ( | ) |
Get a pointer to the parsed frame information object.
Definition at line 340 of file DWARFContext.cpp.
References llvm::isLittleEndian().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
| const DWARFDebugLoc * DWARFContext::getDebugLoc | ( | ) |
Get a pointer to the parsed DebugLoc object.
Definition at line 309 of file DWARFContext.cpp.
References llvm::isLittleEndian().
| const DWARFDebugLocDWO * DWARFContext::getDebugLocDWO | ( | ) |
Get a pointer to the parsed DebugLoc object.
Definition at line 321 of file DWARFContext.cpp.
References llvm::isLittleEndian().
| const DWARFDebugMacro * DWARFContext::getDebugMacro | ( | ) |
Get a pointer to the parsed DebugMacro object.
Definition at line 371 of file DWARFContext.cpp.
References llvm::isLittleEndian(), and llvm::dwarf::syntax::Macro.
|
inline |
Get the compile unit at the specified index for the DWO compile units.
Definition at line 158 of file DWARFContext.h.
| const DWARFDebugFrame * DWARFContext::getEHFrame | ( | ) |
Get a pointer to the parsed eh frame information object.
Definition at line 360 of file DWARFContext.cpp.
References llvm::isLittleEndian().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
| DWARFGdbIndex & DWARFContext::getGdbIndex | ( | ) |
Definition at line 278 of file DWARFContext.cpp.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 521 of file DWARFContext.cpp.
References llvm::DIInliningInfo::addFrame(), llvm::DILineInfo::Column, llvm::DILineInfo::FileName, llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFDie::getCallerFrame(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDie::getSubroutineName(), i, if(), llvm::DILineInfo::Line, llvm::None, and llvm::SmallVectorTemplateCommon< T >::size().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 462 of file DWARFContext.cpp.
References llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFUnit::getCompilationDir(), getFunctionNameForAddress(), and llvm::None.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 479 of file DWARFContext.cpp.
References llvm::DWARFDebugLine::Row::Address, llvm::DILineInfo::Column, llvm::DWARFDebugLine::Row::Column, llvm::DWARFDebugLine::Row::File, llvm::DILineInfo::FileName, llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), getFunctionNameForAddress(), llvm::DILineInfo::Line, llvm::DWARFDebugLine::Row::Line, llvm::DWARFDebugLine::LineTable::lookupAddressRange(), llvm::None, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::DWARFDebugLine::LineTable::Rows.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parse().
| const DWARFLineTable * DWARFContext::getLineTableForUnit | ( | DWARFUnit * | cu | ) |
Get a pointer to a parsed line table corresponding to a compile unit.
Definition at line 382 of file DWARFContext.cpp.
References llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFUnit::getLineSection(), llvm::DWARFUnit::getLineTableOffset(), llvm::DWARFUnit::getUnitDIE(), llvm::isLittleEndian(), and Offset.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
inline |
Get the number of compile units in this context.
Definition at line 128 of file DWARFContext.h.
|
inline |
Get the number of compile units in the DWO context.
Definition at line 140 of file DWARFContext.h.
|
inline |
Get the number of compile units in the DWO context.
Definition at line 146 of file DWARFContext.h.
|
inline |
Get the number of compile units in this context.
Definition at line 134 of file DWARFContext.h.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parse().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFUnitSectionBase::parse().
| const DWARFUnitIndex & DWARFContext::getTUIndex | ( | ) |
Definition at line 267 of file DWARFContext.cpp.
References llvm::DW_SECT_TYPES, and llvm::isLittleEndian().
Referenced by llvm::getDWARFUnitIndex().
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
Referenced by llvm::DWARFDebugAranges::generate(), llvm::DWARFUnitSectionBase::parse(), and llvm::DWARFUnitSectionBase::parseDWO().
Definition at line 239 of file DWARFContext.h.
Referenced by llvm::DWARFUnit::extractImpl().
|
delete |
|
inline |
Get type units in this context.
Definition at line 110 of file DWARFContext.h.
1.8.6