LLVM 20.0.0git
|
A class representing a table of lists as specified in the DWARF v5 standard for location lists and range lists. More...
#include "llvm/DebugInfo/DWARF/DWARFListTable.h"
Public Member Functions | |
void | clear () |
Error | extractHeaderAndOffsets (DWARFDataExtractor Data, uint64_t *OffsetPtr) |
Extract the table header and the array of offsets. | |
Error | extract (DWARFDataExtractor Data, uint64_t *OffsetPtr) |
Extract an entire table, including all list entries. | |
Expected< DWARFListType > | findList (DWARFDataExtractor Data, uint64_t Offset) const |
Look up a list based on a given offset. | |
uint64_t | getHeaderOffset () const |
uint8_t | getAddrSize () const |
uint32_t | getOffsetEntryCount () const |
dwarf::DwarfFormat | getFormat () const |
void | dump (DWARFDataExtractor Data, raw_ostream &OS, llvm::function_ref< std::optional< object::SectionedAddress >(uint32_t)> LookupPooledAddress, DIDumpOptions DumpOpts={}) const |
std::optional< uint64_t > | getOffsetEntry (DataExtractor Data, uint32_t Index) const |
Return the contents of the offset entry designated by a given index. | |
uint8_t | getHeaderSize () const |
Return the size of the table header including the length but not including the offsets. | |
uint64_t | length () |
Protected Member Functions | |
DWARFListTableBase (StringRef SectionName, StringRef HeaderString, StringRef ListTypeString) | |
A class representing a table of lists as specified in the DWARF v5 standard for location lists and range lists.
The table consists of a header followed by an array of offsets into a DWARF section, followed by zero or more list entries. The list entries are kept in a map where the keys are the lists' section offsets.
Definition at line 147 of file DWARFListTable.h.
|
inlineprotected |
Definition at line 157 of file DWARFListTable.h.
|
inline |
Definition at line 162 of file DWARFListTable.h.
void llvm::DWARFListTableBase< DWARFListType >::dump | ( | DWARFDataExtractor | Data, |
raw_ostream & | OS, | ||
llvm::function_ref< std::optional< object::SectionedAddress >(uint32_t)> | LookupPooledAddress, | ||
DIDumpOptions | DumpOpts = {} |
||
) | const |
Definition at line 254 of file DWARFListTable.h.
References llvm::Data, llvm::List, OS, llvm::dwarf::RangeListEncodingString(), llvm::StringRef::size(), and llvm::DIDumpOptions::Verbose.
Referenced by dumpRnglistsSection().
Error llvm::DWARFListTableBase< DWARFListType >::extract | ( | DWARFDataExtractor | Data, |
uint64_t * | OffsetPtr | ||
) |
Extract an entire table, including all list entries.
Definition at line 204 of file DWARFListTable.h.
References assert(), llvm::Data, E, llvm::DWARFListType< ListEntryType >::extract(), and llvm::Error::success().
Referenced by dumpRnglistsSection().
|
inline |
Extract the table header and the array of offsets.
Definition at line 167 of file DWARFListTable.h.
References llvm::Data.
Expected< DWARFListType > llvm::DWARFListTableBase< DWARFListType >::findList | ( | DWARFDataExtractor | Data, |
uint64_t | Offset | ||
) | const |
Look up a list based on a given offset.
Extract it and enter it into the list map if necessary.
Definition at line 282 of file DWARFListTable.h.
References llvm::Data, E, llvm::List, and llvm::Offset.
Referenced by llvm::DWARFUnit::findRnglistFromOffset().
|
inline |
Definition at line 178 of file DWARFListTable.h.
|
inline |
Definition at line 180 of file DWARFListTable.h.
Referenced by llvm::DWARFListTableBase< DWARFListType >::getHeaderSize().
|
inline |
Definition at line 177 of file DWARFListTable.h.
|
inline |
Return the size of the table header including the length but not including the offsets.
This is dependent on the table format, which is unambiguously derived from parsing the table.
Definition at line 196 of file DWARFListTable.h.
References llvm::DWARFListTableBase< DWARFListType >::getFormat(), and llvm::DWARFListTableHeader::getHeaderSize().
|
inline |
Return the contents of the offset entry designated by a given index.
Definition at line 189 of file DWARFListTable.h.
References llvm::Data, and Index.
|
inline |
Definition at line 179 of file DWARFListTable.h.
|
inline |
Definition at line 200 of file DWARFListTable.h.
Referenced by dumpRnglistsSection().