LLVM 20.0.0git
|
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
Classes | |
struct | AttributeSpec |
Public Types | |
enum class | ExtractState { Complete , MoreItems } |
using | AttributeSpecVector = SmallVector< AttributeSpec, 8 > |
using | attr_iterator_range = iterator_range< AttributeSpecVector::const_iterator > |
Definition at line 26 of file DWARFAbbreviationDeclaration.h.
using llvm::DWARFAbbreviationDeclaration::attr_iterator_range = iterator_range<AttributeSpecVector::const_iterator> |
Definition at line 101 of file DWARFAbbreviationDeclaration.h.
Definition at line 92 of file DWARFAbbreviationDeclaration.h.
|
strong |
Enumerator | |
---|---|
Complete | |
MoreItems |
Definition at line 28 of file DWARFAbbreviationDeclaration.h.
DWARFAbbreviationDeclaration::DWARFAbbreviationDeclaration | ( | ) |
Definition at line 33 of file DWARFAbbreviationDeclaration.cpp.
|
inline |
Definition at line 104 of file DWARFAbbreviationDeclaration.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by llvm::DWARFDebugInfoEntry::extractFast().
void DWARFAbbreviationDeclaration::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 148 of file DWARFAbbreviationDeclaration.cpp.
References llvm::formatv(), getCode(), getTag(), hasChildren(), and OS.
llvm::Expected< DWARFAbbreviationDeclaration::ExtractState > DWARFAbbreviationDeclaration::extract | ( | DataExtractor | Data, |
uint64_t * | OffsetPtr | ||
) |
Definition at line 38 of file DWARFAbbreviationDeclaration.cpp.
References A, Complete, llvm::Data, llvm::dwarf::DW_CHILDREN_yes, F, llvm::dwarf::getFixedFormByteSize(), MoreItems, llvm::Offset, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Error::success().
Referenced by llvm::DWARFAbbreviationDeclarationSet::extract().
std::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 162 of file DWARFAbbreviationDeclaration.cpp.
References llvm::SmallVectorBase< Size_T >::size().
Referenced by getAttributeValue().
|
inline |
Definition at line 117 of file DWARFAbbreviationDeclaration.h.
References assert(), and llvm::SmallVectorBase< Size_T >::size().
uint64_t DWARFAbbreviationDeclaration::getAttributeOffsetFromIndex | ( | uint32_t | AttrIndex, |
uint64_t | DIEOffset, | ||
const DWARFUnit & | U | ||
) | const |
Compute an offset from a DIE specified by DIE offset and attribute index.
AttrIndex | an index of DWARF attribute. |
DIEOffset | the DIE offset that points to the ULEB128 abbreviation code in the .debug_info data. |
U | the DWARFUnit the contains the DIE. |
Definition at line 170 of file DWARFAbbreviationDeclaration.cpp.
References llvm::Offset, and llvm::DWARFFormValue::skipValue().
Referenced by getAttributeValue().
std::optional< DWARFFormValue > DWARFAbbreviationDeclaration::getAttributeValue | ( | const uint64_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 207 of file DWARFAbbreviationDeclaration.cpp.
References findAttributeIndex(), getAttributeOffsetFromIndex(), getAttributeValueFromOffset(), and llvm::Offset.
std::optional< DWARFFormValue > DWARFAbbreviationDeclaration::getAttributeValueFromOffset | ( | uint32_t | AttrIndex, |
uint64_t | Offset, | ||
const DWARFUnit & | U | ||
) | const |
Extract a DWARF form value from a DIE speccified by attribute index and its offset.
AttrIndex | an index of DWARF attribute. |
Offset | offset of the attribute. |
U | the DWARFUnit the contains the DIE. |
Definition at line 188 of file DWARFAbbreviationDeclaration.cpp.
References assert(), llvm::DWARFFormValue::createFromSValue(), llvm::DWARFFormValue::extractValue(), llvm::Offset, and llvm::SmallVectorBase< Size_T >::size().
Referenced by getAttributeValue().
|
inline |
Definition at line 127 of file DWARFAbbreviationDeclaration.h.
References assert(), and llvm::SmallVectorBase< Size_T >::size().
Definition at line 122 of file DWARFAbbreviationDeclaration.h.
References assert(), and llvm::SmallVectorBase< Size_T >::size().
|
inline |
Definition at line 96 of file DWARFAbbreviationDeclaration.h.
Referenced by dump(), and llvm::DWARFAbbreviationDeclarationSet::extract().
|
inline |
Definition at line 97 of file DWARFAbbreviationDeclaration.h.
std::optional< size_t > DWARFAbbreviationDeclaration::getFixedAttributesByteSize | ( | const DWARFUnit & | U | ) | const |
Definition at line 246 of file DWARFAbbreviationDeclaration.cpp.
Referenced by llvm::DWARFDebugInfoEntry::extractFast().
|
inline |
Definition at line 108 of file DWARFAbbreviationDeclaration.h.
References assert(), and llvm::SmallVectorBase< Size_T >::size().
|
inline |
Definition at line 113 of file DWARFAbbreviationDeclaration.h.
References llvm::SmallVectorBase< Size_T >::size().
|
inline |
Definition at line 98 of file DWARFAbbreviationDeclaration.h.
Referenced by dump(), and llvm::DWARFDebugInfoEntry::getTag().
|
inline |
Definition at line 99 of file DWARFAbbreviationDeclaration.h.
Referenced by dump(), and llvm::DWARFDebugInfoEntry::hasChildren().