LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::DWARFAbbreviationDeclaration Class Reference

#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_tfindAttributeIndex (dwarf::Attribute attr) const
 Get the index of the specified attribute. More...
 
Optional< DWARFFormValuegetAttributeValue (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
 

Detailed Description

Definition at line 28 of file DWARFAbbreviationDeclaration.h.

Member Typedef Documentation

◆ attr_iterator_range

Definition at line 95 of file DWARFAbbreviationDeclaration.h.

◆ AttributeSpecVector

Definition at line 85 of file DWARFAbbreviationDeclaration.h.

Constructor & Destructor Documentation

◆ DWARFAbbreviationDeclaration()

DWARFAbbreviationDeclaration::DWARFAbbreviationDeclaration ( )

Definition at line 36 of file DWARFAbbreviationDeclaration.cpp.

References clear().

Member Function Documentation

◆ attributes()

attr_iterator_range llvm::DWARFAbbreviationDeclaration::attributes ( ) const
inline

Definition at line 97 of file DWARFAbbreviationDeclaration.h.

◆ dump()

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().

◆ extract()

bool DWARFAbbreviationDeclaration::extract ( DataExtractor  Data,
uint32_t OffsetPtr 
)

◆ findAttributeIndex()

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.

Parameters
attrDWARF attribute to search for.
Returns
Optional index of the attribute if found, None otherwise.

Definition at line 143 of file DWARFAbbreviationDeclaration.cpp.

References llvm::None.

Referenced by getAttrByIndex().

◆ getAttrByIndex()

dwarf::Attribute llvm::DWARFAbbreviationDeclaration::getAttrByIndex ( uint32_t  idx) const
inline

◆ getAttributeValue()

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.

Parameters
DIEOffsetthe DIE offset that points to the ULEB128 abbreviation code in the .debug_info data.
AttrDWARF attribute to search for.
Uthe DWARFUnit the contains the DIE.
Returns
Optional DWARF form value if the attribute was extracted.

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().

◆ getCode()

uint32_t llvm::DWARFAbbreviationDeclaration::getCode ( ) const
inline

◆ getCodeByteSize()

uint8_t llvm::DWARFAbbreviationDeclaration::getCodeByteSize ( ) const
inline

Definition at line 90 of file DWARFAbbreviationDeclaration.h.

◆ getFixedAttributesByteSize()

Optional< size_t > DWARFAbbreviationDeclaration::getFixedAttributesByteSize ( const DWARFUnit U) const

Definition at line 211 of file DWARFAbbreviationDeclaration.cpp.

References llvm::None.

Referenced by getAttrByIndex().

◆ getFormByIndex()

dwarf::Form llvm::DWARFAbbreviationDeclaration::getFormByIndex ( uint32_t  idx) const
inline

Definition at line 101 of file DWARFAbbreviationDeclaration.h.

References assert().

◆ getNumAttributes()

size_t llvm::DWARFAbbreviationDeclaration::getNumAttributes ( ) const
inline

Definition at line 106 of file DWARFAbbreviationDeclaration.h.

◆ getTag()

dwarf::Tag llvm::DWARFAbbreviationDeclaration::getTag ( ) const
inline

Definition at line 91 of file DWARFAbbreviationDeclaration.h.

Referenced by llvm::DWARFDebugInfoEntry::getTag().

◆ hasChildren()

bool llvm::DWARFAbbreviationDeclaration::hasChildren ( ) const
inline

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