|
LLVM
3.7.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 < std::vector < DWARFUnitSection < DWARFTypeUnit > >::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 39 of file DWARFContext.h.
Definition at line 82 of file DWARFContext.h.
Definition at line 83 of file DWARFContext.h.
| typedef iterator_range<std::vector<DWARFUnitSection<DWARFTypeUnit> >::iterator> llvm::DWARFContext::tu_section_iterator_range |
Definition at line 84 of file DWARFContext.h.
| typedef MapVector<object::SectionRef, DWARFSection, std::map<object::SectionRef, unsigned> > llvm::DWARFContext::TypeSectionMap |
Definition at line 178 of file DWARFContext.h.
|
inline |
Definition at line 74 of file DWARFContext.h.
Definition at line 76 of file DWARFContext.h.
References llvm::DIContext::CK_DWARF, and llvm::DIContext::getKind().
|
inline |
Get compile units in this context.
Definition at line 87 of file DWARFContext.h.
Referenced by llvm::DWARFDebugAranges::generate().
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 74 of file DWARFContext.cpp.
References llvm::DWARFDebugLine::LineTable::clear(), llvm::Data, 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_Frames, 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_Pubnames, llvm::DIDT_Pubtypes, llvm::DIDT_Ranges, llvm::DIDT_Str, llvm::DIDT_StrDwo, llvm::DIDT_StrOffsetsDwo, llvm::DIDT_Types, llvm::DIDT_TypesDwo, llvm::DWARFDebugArangeSet::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFDebugLine::LineTable::dump(), dumpAccelSection(), dumpPubSection(), llvm::dwarf::DW_AT_stmt_list, llvm::DWARFDebugArangeSet::extract(), llvm::DWARFDebugRangeList::extract(), llvm::format(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU32(), llvm::DWARFDebugLine::Prologue::parse(), llvm::DWARFDebugLine::LineTable::parse(), llvm::DWARFDebugLine::LineTable::Prologue, and size.
|
inline |
Get compile units in the DWO context.
Definition at line 99 of file DWARFContext.h.
|
inline |
Get type units in the DWO context.
Definition at line 105 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 135 of file DWARFContext.h.
| const DWARFDebugAbbrev * DWARFContext::getDebugAbbrev | ( | ) |
Get a pointer to the parsed DebugAbbrev object.
Definition at line 253 of file DWARFContext.cpp.
Referenced by llvm::DWARFUnitSectionBase::parse().
| const DWARFDebugAbbrev * DWARFContext::getDebugAbbrevDWO | ( | ) |
Get a pointer to the parsed dwo abbreviations object.
Definition at line 264 of file DWARFContext.cpp.
Referenced by llvm::DWARFUnitSectionBase::parseDWO().
| const DWARFDebugAranges * DWARFContext::getDebugAranges | ( | ) |
Get a pointer to the parsed DebugAranges object.
Definition at line 296 of file DWARFContext.cpp.
References llvm::DWARFDebugAranges::generate().
| const DWARFDebugFrame * DWARFContext::getDebugFrame | ( | ) |
Get a pointer to the parsed frame information object.
Definition at line 305 of file DWARFContext.cpp.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
| const DWARFDebugLoc * DWARFContext::getDebugLoc | ( | ) |
Get a pointer to the parsed DebugLoc object.
Definition at line 274 of file DWARFContext.cpp.
References llvm::Data.
| const DWARFDebugLocDWO * DWARFContext::getDebugLocDWO | ( | ) |
Get a pointer to the parsed DebugLoc object.
Definition at line 286 of file DWARFContext.cpp.
References llvm::Data.
|
inline |
Get the compile unit at the specified index for the DWO compile units.
Definition at line 141 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.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 465 of file DWARFContext.cpp.
References llvm::DIInliningInfo::addFrame(), llvm::DILineInfo::Column, llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::DILineInfo::FileName, llvm::DILineInfoSpecifier::FLIKind, llvm::DILineInfoSpecifier::FNKind, llvm::DILineInfo::FunctionName, llvm::DWARFDebugInfoEntryMinimal::getCallerFrame(), llvm::DWARFUnit::getCompilationDir(), llvm::DWARFDebugLine::LineTable::getFileLineInfoForAddress(), llvm::DWARFDebugLine::LineTable::getFileNameByIndex(), llvm::DWARFUnit::getInlinedChainForAddress(), llvm::DWARFDebugInfoEntryMinimal::getSubroutineName(), if(), llvm::DILineInfo::Line, llvm::None, and llvm::DWARFDebugInfoEntryInlinedChain::U.
|
pure virtual |
Implemented in llvm::DWARFContextInMemory.
|
overridevirtual |
Implements llvm::DIContext.
Definition at line 406 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 423 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.
| const DWARFLineTable * DWARFContext::getLineTableForUnit | ( | DWARFUnit * | cu | ) |
Get a pointer to a parsed line table corresponding to a compile unit.
Definition at line 326 of file DWARFContext.cpp.
References llvm::Data, llvm::dwarf::DW_AT_stmt_list, llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset(), and llvm::DWARFUnit::getUnitDIE().
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute().
|
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 111 of file DWARFContext.h.
|
inline |
Get the number of compile units in the DWO context.
Definition at line 123 of file DWARFContext.h.
|
inline |
Get the number of compile units in the DWO context.
Definition at line 129 of file DWARFContext.h.
|
inline |
Get the number of compile units in this context.
Definition at line 117 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().
|
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 207 of file DWARFContext.h.
Referenced by llvm::DWARFUnit::extractImpl().
|
inline |
Get type units in this context.
Definition at line 93 of file DWARFContext.h.
1.8.6