LLVM
8.0.1
|
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
Classes | |
struct | AttributeSpec |
Public Types | |
using | AttributeSpecVector = SmallVector< AttributeSpec, 8 > |
using | attr_iterator_range = iterator_range< AttributeSpecVector::const_iterator > |
Public Member Functions | |
DWARFAbbreviationDeclaration () | |
uint32_t | getCode () const |
uint8_t | getCodeByteSize () const |
dwarf::Tag | getTag () const |
bool | hasChildren () const |
attr_iterator_range | attributes () const |
dwarf::Form | getFormByIndex (uint32_t idx) const |
size_t | getNumAttributes () const |
dwarf::Attribute | getAttrByIndex (uint32_t idx) const |
Optional< uint32_t > | findAttributeIndex (dwarf::Attribute attr) const |
Get the index of the specified attribute. More... | |
Optional< DWARFFormValue > | getAttributeValue (const uint32_t DIEOffset, const dwarf::Attribute Attr, const DWARFUnit &U) const |
Extract a DWARF form value from a DIE specified by DIE offset. More... | |
bool | extract (DataExtractor Data, uint32_t *OffsetPtr) |
void | dump (raw_ostream &OS) const |
Optional< size_t > | getFixedAttributesByteSize (const DWARFUnit &U) const |
Definition at line 28 of file DWARFAbbreviationDeclaration.h.
using llvm::DWARFAbbreviationDeclaration::attr_iterator_range = iterator_range<AttributeSpecVector::const_iterator> |
Definition at line 95 of file DWARFAbbreviationDeclaration.h.
Definition at line 85 of file DWARFAbbreviationDeclaration.h.
DWARFAbbreviationDeclaration::DWARFAbbreviationDeclaration | ( | ) |
Definition at line 36 of file DWARFAbbreviationDeclaration.cpp.
References clear().
|
inline |
Definition at line 97 of file DWARFAbbreviationDeclaration.h.
void DWARFAbbreviationDeclaration::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 129 of file DWARFAbbreviationDeclaration.cpp.
References llvm::formatv(), and llvm::dwarf::getTag().
Referenced by getAttrByIndex().
bool DWARFAbbreviationDeclaration::extract | ( | DataExtractor | Data, |
uint32_t * | OffsetPtr | ||
) |
Definition at line 41 of file DWARFAbbreviationDeclaration.cpp.
References clear(), llvm::dwarf::DW_CHILDREN_yes, F(), llvm::dwarf::getFixedFormByteSize(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), and llvm::Optional< T >::reset().
Referenced by llvm::DWARFAbbreviationDeclarationSet::extract(), and getAttrByIndex().
Optional< uint32_t > DWARFAbbreviationDeclaration::findAttributeIndex | ( | dwarf::Attribute | attr | ) | const |
Get the index of the specified attribute.
Searches the this abbreviation declaration for the index of the specified attribute.
attr | DWARF attribute to search for. |
Definition at line 143 of file DWARFAbbreviationDeclaration.cpp.
References llvm::None.
Referenced by getAttrByIndex().
|
inline |
Definition at line 110 of file DWARFAbbreviationDeclaration.h.
References assert(), llvm::DWARFAbbreviationDeclaration::AttributeSpec::Attr, llvm::Data, dump(), extract(), findAttributeIndex(), getAttributeValue(), llvm::DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(), and getFixedAttributesByteSize().
Optional< DWARFFormValue > DWARFAbbreviationDeclaration::getAttributeValue | ( | const uint32_t | DIEOffset, |
const dwarf::Attribute | Attr, | ||
const DWARFUnit & | U | ||
) | const |
Extract a DWARF form value from a DIE specified by DIE offset.
Extract an attribute value for a DWARFUnit given the DIE offset and the attribute.
DIEOffset | the DIE offset that points to the ULEB128 abbreviation code in the .debug_info data. |
Attr | DWARF attribute to search for. |
U | the DWARFUnit the contains the DIE. |
Definition at line 151 of file DWARFAbbreviationDeclaration.cpp.
References llvm::DWARFFormValue::extractValue(), llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFUnit::getDebugInfoExtractor(), llvm::DWARFUnit::getDwarfOffsetByteSize(), llvm::DWARFUnit::getFormParams(), llvm::DWARFUnit::getRefAddrByteSize(), llvm::None, llvm::DWARFFormValue::setSValue(), and llvm::DWARFFormValue::skipValue().
Referenced by getAttrByIndex().
|
inline |
Definition at line 89 of file DWARFAbbreviationDeclaration.h.
Referenced by llvm::DWARFAbbreviationDeclarationSet::extract().
|
inline |
Definition at line 90 of file DWARFAbbreviationDeclaration.h.
Optional< size_t > DWARFAbbreviationDeclaration::getFixedAttributesByteSize | ( | const DWARFUnit & | U | ) | const |
Definition at line 211 of file DWARFAbbreviationDeclaration.cpp.
References llvm::None.
Referenced by getAttrByIndex().
|
inline |
Definition at line 101 of file DWARFAbbreviationDeclaration.h.
References assert().
|
inline |
Definition at line 106 of file DWARFAbbreviationDeclaration.h.
|
inline |
Definition at line 91 of file DWARFAbbreviationDeclaration.h.
Referenced by llvm::DWARFDebugInfoEntry::getTag().
|
inline |
Definition at line 92 of file DWARFAbbreviationDeclaration.h.
Referenced by llvm::DWARFDebugInfoEntry::hasChildren().