LLVM 18.0.0git
|
DWARF v5-specific implementation of an Accelerator Entry. More...
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
Public Member Functions | |
std::optional< uint64_t > | getCUOffset () 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::Tag > | getTag () 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_t > | 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. | |
dwarf::Tag | tag () const |
.debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag). | |
std::optional< uint64_t > | getDIEUnitOffset () const |
Returns the Offset of the DIE within the containing CU or TU. | |
const Abbrev & | getAbbrev () const |
Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry. | |
std::optional< DWARFFormValue > | lookup (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 |
![]() | |
virtual std::optional< uint64_t > | getCUOffset () 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::Tag > | getTag () 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< DWARFFormValue > | getValues () const |
Returns the raw values of fields in the Accelerator Entry. | |
Friends | |
class | NameIndex |
class | ValueIterator |
Additional Inherited Members | |
![]() | |
Entry ()=default | |
Entry (const Entry &)=default | |
Entry (Entry &&)=default | |
Entry & | operator= (const Entry &)=default |
Entry & | operator= (Entry &&)=default |
~Entry ()=default | |
![]() | |
SmallVector< DWARFFormValue, 3 > | Values |
DWARF v5-specific implementation of an Accelerator Entry.
Definition at line 419 of file DWARFAcceleratorTable.h.
void DWARFDebugNames::Entry::dump | ( | ScopedPrinter & | W | ) | const |
Definition at line 637 of file DWARFAcceleratorTable.cpp.
References assert(), llvm::DWARFDebugNames::Abbrev::Attributes, llvm::DWARFDebugNames::Abbrev::Code, llvm::formatv(), llvm::DWARFDebugNames::Abbrev::Tag, and llvm::zip_first().
Return the Abbreviation that can be used to interpret the raw values of this Accelerator Entry.
Definition at line 448 of file DWARFAcceleratorTable.h.
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 620 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFDebugNames::NameIndex::getCUCount(), and lookup().
|
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 630 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFDebugNames::NameIndex::getCUCount(), and llvm::DWARFDebugNames::NameIndex::getCUOffset().
std::optional< uint64_t > DWARFDebugNames::Entry::getDIEUnitOffset | ( | ) | const |
Returns the Offset of the DIE within the containing CU or TU.
Definition at line 614 of file DWARFAcceleratorTable.cpp.
References lookup().
|
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 427 of file DWARFAcceleratorTable.h.
References tag().
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 605 of file DWARFAcceleratorTable.cpp.
References assert(), llvm::DWARFDebugNames::Abbrev::Attributes, and llvm::zip_first().
|
inline |
.debug_names-specific getter, which always succeeds (DWARF v5 index entries always have a tag).
Definition at line 441 of file DWARFAcceleratorTable.h.
References llvm::DWARFDebugNames::Abbrev::Tag.
Referenced by getTag().
|
friend |
Definition at line 456 of file DWARFAcceleratorTable.h.
|
friend |
Definition at line 457 of file DWARFAcceleratorTable.h.