LLVM 17.0.0git
llvm::DWARFDebugNames::Entry Class Referencefinal

DWARF v5-specific implementation of an Accelerator Entry. More...

#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"

Inheritance diagram for llvm::DWARFDebugNames::Entry:
[legend]
Collaboration diagram for llvm::DWARFDebugNames::Entry:
[legend]

## Public Member Functions

std::optional< uint64_tgetCUOffset () const override
Returns the Offset of the Compilation Unit associated with this Accelerator Entry or std::nullopt if the Compilation Unit offset is not recorded in this Accelerator Entry.

std::optional< dwarf::TaggetTag () const override
Returns the Tag of the Debug Info Entry associated with this Accelerator Entry or std::nullopt if the Tag is not recorded in this Accelerator Entry.

std::optional< uint64_tgetCUIndex () const
Returns the Index into the Compilation Unit list of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Compilation Unit.

dwarf::Tag tag () const
.debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag).

std::optional< uint64_tgetDIEUnitOffset () const
Returns the Offset of the DIE within the containing CU or TU.

const AbbrevgetAbbrev () const
Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry.

std::optional< DWARFFormValuelookup (dwarf::Index Index) const
Returns the value of the Index Attribute in this Accelerator Entry, if the Entry contains such Attribute.

void dump (ScopedPrinter &W) const

Public Member Functions inherited from llvm::DWARFAcceleratorTable::Entry
virtual std::optional< uint64_tgetCUOffset () const =0
Returns the Offset of the Compilation Unit associated with this Accelerator Entry or std::nullopt if the Compilation Unit offset is not recorded in this Accelerator Entry.

virtual std::optional< dwarf::TaggetTag () const =0
Returns the Tag of the Debug Info Entry associated with this Accelerator Entry or std::nullopt if the Tag is not recorded in this Accelerator Entry.

ArrayRef< DWARFFormValuegetValues () const
Returns the raw values of fields in the Accelerator Entry.

## Friends

class NameIndex

class ValueIterator

Protected Member Functions inherited from llvm::DWARFAcceleratorTable::Entry
Entry ()=default

Entry (const Entry &)=default

Entry (Entry &&)=default

Entryoperator= (const Entry &)=default

Entryoperator= (Entry &&)=default

~Entry ()=default

Protected Attributes inherited from llvm::DWARFAcceleratorTable::Entry
SmallVector< DWARFFormValue, 3 > Values

## Detailed Description

DWARF v5-specific implementation of an Accelerator Entry.

Definition at line 284 of file DWARFAcceleratorTable.h.

## ◆ dump()

 void DWARFDebugNames::Entry::dump ( ScopedPrinter & W ) const

Definition at line 571 of file DWARFAcceleratorTable.cpp.

## ◆ getAbbrev()

 const Abbrev & llvm::DWARFDebugNames::Entry::getAbbrev ( ) const
inline

Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry.

Definition at line 313 of file DWARFAcceleratorTable.h.

## ◆ getCUIndex()

 std::optional< uint64_t > DWARFDebugNames::Entry::getCUIndex ( ) const

Returns the Index into the Compilation Unit list of the owning Name Index or std::nullopt if this Accelerator Entry does not have an associated Compilation Unit.

It is up to the user to verify that the returned Index is valid in the owning NameIndex (or use getCUOffset(), which will handle that check itself). Note that entries in NameIndexes which index just a single Compilation Unit are implicitly associated with that unit, so this function will return 0 even without an explicit DW_IDX_compile_unit attribute.

Definition at line 554 of file DWARFAcceleratorTable.cpp.

References llvm::DWARFDebugNames::NameIndex::getCUCount(), and lookup().

## ◆ getCUOffset()

 std::optional< uint64_t > DWARFDebugNames::Entry::getCUOffset ( ) const
overridevirtual

Returns the Offset of the Compilation Unit associated with this Accelerator Entry or std::nullopt if the Compilation Unit offset is not recorded in this Accelerator Entry.

Implements llvm::DWARFAcceleratorTable::Entry.

Definition at line 564 of file DWARFAcceleratorTable.cpp.

## ◆ getDIEUnitOffset()

 std::optional< uint64_t > DWARFDebugNames::Entry::getDIEUnitOffset ( ) const

Returns the Offset of the DIE within the containing CU or TU.

Definition at line 548 of file DWARFAcceleratorTable.cpp.

References lookup().

## ◆ getTag()

 std::optional< dwarf::Tag > llvm::DWARFDebugNames::Entry::getTag ( ) const
inlineoverridevirtual

Returns the Tag of the Debug Info Entry associated with this Accelerator Entry or std::nullopt if the Tag is not recorded in this Accelerator Entry.

Implements llvm::DWARFAcceleratorTable::Entry.

Definition at line 292 of file DWARFAcceleratorTable.h.

References tag().

## ◆ lookup()

 std::optional< DWARFFormValue > DWARFDebugNames::Entry::lookup ( dwarf::Index Index ) const

Returns the value of the Index Attribute in this Accelerator Entry, if the Entry contains such Attribute.

Definition at line 539 of file DWARFAcceleratorTable.cpp.

References assert(), llvm::DWARFDebugNames::Abbrev::Attributes, and llvm::zip_first().

## ◆ tag()

 dwarf::Tag llvm::DWARFDebugNames::Entry::tag ( ) const
inline

.debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag).

Definition at line 306 of file DWARFAcceleratorTable.h.

References llvm::DWARFDebugNames::Abbrev::Tag.

Referenced by getTag().

## ◆ NameIndex

 friend class NameIndex
friend

Definition at line 321 of file DWARFAcceleratorTable.h.

## ◆ ValueIterator

 friend class ValueIterator
friend

Definition at line 322 of file DWARFAcceleratorTable.h.

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