LLVM 20.0.0git
|
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 |
void | dump (DataExtractor Data, raw_ostream &OS, DIDumpOptions DumpOpts={}) const |
std::optional< uint64_t > | getOffsetEntry (DataExtractor Data, uint32_t Index) const |
Error | extract (DWARFDataExtractor Data, uint64_t *OffsetPtr) |
Extract the table header and the array of offsets. | |
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_t > | getOffsetEntry (DataExtractor Data, uint64_t OffsetTableOffset, dwarf::DwarfFormat Format, uint32_t Index) |
A class representing the header of a list table such as the range list table in the .debug_rnglists section.
Definition at line 55 of file DWARFListTable.h.
|
inline |
Definition at line 86 of file DWARFListTable.h.
|
inline |
Definition at line 89 of file DWARFListTable.h.
void DWARFListTableHeader::dump | ( | DataExtractor | Data, |
raw_ostream & | OS, | ||
DIDumpOptions | DumpOpts = {} |
||
) | const |
Definition at line 78 of file DWARFListTable.cpp.
References llvm::StringRef::data(), llvm::Data, llvm::format(), llvm::dwarf::FormatString(), llvm::dwarf::getDwarfOffsetByteSize(), getHeaderSize(), getOffsetEntry(), I, OS, and llvm::DIDumpOptions::Verbose.
Error DWARFListTableHeader::extract | ( | DWARFDataExtractor | Data, |
uint64_t * | OffsetPtr | ||
) |
Extract the table header and the array of offsets.
Definition at line 19 of file DWARFListTable.cpp.
References assert(), llvm::c_str(), llvm::DWARFContext::checkAddressSizeSupported(), llvm::createStringError(), llvm::Data, llvm::dwarf::DWARF64, End, getHeaderSize(), llvm::dwarf::getUnitLengthFieldByteSize(), llvm::invalid_argument, length(), llvm::not_supported, llvm::Error::success(), and llvm::toString().
|
inline |
Definition at line 93 of file DWARFListTable.h.
|
inline |
Definition at line 99 of file DWARFListTable.h.
|
inline |
Definition at line 92 of file DWARFListTable.h.
Referenced by getOffsetEntry().
|
inlinestatic |
Return the size of the table header including the length but not including the offsets.
Definition at line 103 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().
|
inline |
Definition at line 94 of file DWARFListTable.h.
|
inline |
Definition at line 98 of file DWARFListTable.h.
|
inline |
Definition at line 115 of file DWARFListTable.h.
References llvm::Data, getHeaderOffset(), getHeaderSize(), getOffsetEntry(), and Index.
Referenced by dump(), llvm::DWARFUnit::getLoclistOffset(), getOffsetEntry(), and llvm::DWARFUnit::getRnglistOffset().
|
inlinestatic |
Definition at line 123 of file DWARFListTable.h.
References llvm::Data, llvm::dwarf::DWARF64, Index, and llvm::Offset.
|
inline |
Definition at line 96 of file DWARFListTable.h.
|
inline |
Definition at line 97 of file DWARFListTable.h.
|
inline |
Definition at line 95 of file DWARFListTable.h.
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().