LLVM 22.0.0git
llvm::DWARFListTableHeader Class Reference

A class representing the header of a list table such as the range list table in the .debug_rnglists section. More...

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

Public Member Functions

 DWARFListTableHeader (StringRef SectionName, StringRef ListTypeString)
void clear ()
uint64_t getHeaderOffset () const
uint8_t getAddrSize () const
uint64_t getLength () const
uint16_t getVersion () const
uint32_t getOffsetEntryCount () const
StringRef getSectionName () const
StringRef getListTypeString () const
dwarf::DwarfFormat getFormat () const
LLVM_ABI void dump (DataExtractor Data, raw_ostream &OS, DIDumpOptions DumpOpts={}) const
std::optional< uint64_tgetOffsetEntry (DataExtractor Data, uint32_t Index) const
LLVM_ABI Error extract (DWARFDataExtractor Data, uint64_t *OffsetPtr)
 Extract the table header and the array of offsets.
LLVM_ABI uint64_t length () const
 Returns the length of the table, including the length field, or 0 if the length has not been determined (e.g.

Static Public Member Functions

static uint8_t getHeaderSize (dwarf::DwarfFormat Format)
 Return the size of the table header including the length but not including the offsets.
static std::optional< uint64_tgetOffsetEntry (DataExtractor Data, uint64_t OffsetTableOffset, dwarf::DwarfFormat Format, uint32_t Index)

Detailed Description

A class representing the header of a list table such as the range list table in the .debug_rnglists section.

Definition at line 56 of file DWARFListTable.h.

Constructor & Destructor Documentation

◆ DWARFListTableHeader()

llvm::DWARFListTableHeader::DWARFListTableHeader ( StringRef SectionName,
StringRef ListTypeString )
inline

Definition at line 87 of file DWARFListTable.h.

Member Function Documentation

◆ clear()

void llvm::DWARFListTableHeader::clear ( )
inline

Definition at line 90 of file DWARFListTable.h.

◆ dump()

◆ extract()

◆ getAddrSize()

uint8_t llvm::DWARFListTableHeader::getAddrSize ( ) const
inline

Definition at line 94 of file DWARFListTable.h.

◆ getFormat()

dwarf::DwarfFormat llvm::DWARFListTableHeader::getFormat ( ) const
inline

Definition at line 100 of file DWARFListTable.h.

◆ getHeaderOffset()

uint64_t llvm::DWARFListTableHeader::getHeaderOffset ( ) const
inline

Definition at line 93 of file DWARFListTable.h.

Referenced by getOffsetEntry().

◆ getHeaderSize()

uint8_t llvm::DWARFListTableHeader::getHeaderSize ( dwarf::DwarfFormat Format)
inlinestatic

Return the size of the table header including the length but not including the offsets.

Definition at line 104 of file DWARFListTable.h.

References llvm::dwarf::DWARF32, llvm::dwarf::DWARF64, and llvm_unreachable.

Referenced by dump(), extract(), llvm::DWARFListTableBase< DWARFListType >::getHeaderSize(), getOffsetEntry(), and llvm::DWARFUnit::tryExtractDIEsIfNeeded().

◆ getLength()

uint64_t llvm::DWARFListTableHeader::getLength ( ) const
inline

Definition at line 95 of file DWARFListTable.h.

◆ getListTypeString()

StringRef llvm::DWARFListTableHeader::getListTypeString ( ) const
inline

Definition at line 99 of file DWARFListTable.h.

◆ getOffsetEntry() [1/2]

std::optional< uint64_t > llvm::DWARFListTableHeader::getOffsetEntry ( DataExtractor Data,
uint32_t Index ) const
inline

◆ getOffsetEntry() [2/2]

std::optional< uint64_t > llvm::DWARFListTableHeader::getOffsetEntry ( DataExtractor Data,
uint64_t OffsetTableOffset,
dwarf::DwarfFormat Format,
uint32_t Index )
inlinestatic

Definition at line 124 of file DWARFListTable.h.

References llvm::Data, llvm::dwarf::DWARF64, and llvm::Offset.

◆ getOffsetEntryCount()

uint32_t llvm::DWARFListTableHeader::getOffsetEntryCount ( ) const
inline

Definition at line 97 of file DWARFListTable.h.

◆ getSectionName()

StringRef llvm::DWARFListTableHeader::getSectionName ( ) const
inline

Definition at line 98 of file DWARFListTable.h.

◆ getVersion()

uint16_t llvm::DWARFListTableHeader::getVersion ( ) const
inline

Definition at line 96 of file DWARFListTable.h.

◆ length()

uint64_t DWARFListTableHeader::length ( ) const

Returns the length of the table, including the length field, or 0 if the length has not been determined (e.g.

because the table has not yet been parsed, or there was a problem in parsing).

Definition at line 105 of file DWARFListTable.cpp.

References llvm::dwarf::getUnitLengthFieldByteSize().

Referenced by extract().


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