LLVM  9.0.0svn
Public Member Functions | Protected Member Functions | List of all members
llvm::DWARFListTableBase< DWARFListType > Class Template Reference

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"

Inheritance diagram for llvm::DWARFListTableBase< DWARFListType >:
Inheritance graph
[legend]

Public Member Functions

void clear ()
 
Error extractHeaderAndOffsets (DWARFDataExtractor Data, uint32_t *OffsetPtr)
 Extract the table header and the array of offsets. More...
 
Error extract (DWARFDataExtractor Data, uint32_t *OffsetPtr)
 Extract an entire table, including all list entries. More...
 
Expected< DWARFListTypefindList (DWARFDataExtractor Data, uint32_t Offset)
 Look up a list based on a given offset. More...
 
uint32_t getHeaderOffset () const
 
uint8_t getAddrSize () const
 
void dump (raw_ostream &OS, llvm::function_ref< Optional< object::SectionedAddress >(uint32_t)> LookupPooledAddress, DIDumpOptions DumpOpts={}) const
 
Optional< uint32_tgetOffsetEntry (uint32_t Index) const
 Return the contents of the offset entry designated by a given index. More...
 
uint8_t getHeaderSize () const
 Return the size of the table header including the length but not including the offsets. More...
 
uint32_t length ()
 

Protected Member Functions

 DWARFListTableBase (StringRef SectionName, StringRef HeaderString, StringRef ListTypeString)
 

Detailed Description

template<typename DWARFListType>
class llvm::DWARFListTableBase< DWARFListType >

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 127 of file DWARFListTable.h.

Constructor & Destructor Documentation

◆ DWARFListTableBase()

template<typename DWARFListType>
llvm::DWARFListTableBase< DWARFListType >::DWARFListTableBase ( StringRef  SectionName,
StringRef  HeaderString,
StringRef  ListTypeString 
)
inlineprotected

Definition at line 137 of file DWARFListTable.h.

Member Function Documentation

◆ clear()

template<typename DWARFListType>
void llvm::DWARFListTableBase< DWARFListType >::clear ( )
inline

Definition at line 142 of file DWARFListTable.h.

◆ dump()

template<typename DWARFListType >
void llvm::DWARFListTableBase< DWARFListType >::dump ( raw_ostream OS,
llvm::function_ref< Optional< object::SectionedAddress >(uint32_t)>  LookupPooledAddress,
DIDumpOptions  DumpOpts = {} 
) const

Definition at line 235 of file DWARFListTable.h.

◆ extract()

template<typename DWARFListType >
Error llvm::DWARFListTableBase< DWARFListType >::extract ( DWARFDataExtractor  Data,
uint32_t OffsetPtr 
)

Extract an entire table, including all list entries.

Definition at line 185 of file DWARFListTable.h.

◆ extractHeaderAndOffsets()

template<typename DWARFListType>
Error llvm::DWARFListTableBase< DWARFListType >::extractHeaderAndOffsets ( DWARFDataExtractor  Data,
uint32_t OffsetPtr 
)
inline

Extract the table header and the array of offsets.

Definition at line 147 of file DWARFListTable.h.

Referenced by parseRngListTableHeader().

◆ findList()

template<typename DWARFListType >
Expected< DWARFListType > llvm::DWARFListTableBase< DWARFListType >::findList ( DWARFDataExtractor  Data,
uint32_t  Offset 
)

Look up a list based on a given offset.

Extract it and enter it into the list map if necessary.

Definition at line 263 of file DWARFListTable.h.

◆ getAddrSize()

template<typename DWARFListType>
uint8_t llvm::DWARFListTableBase< DWARFListType >::getAddrSize ( ) const
inline

Definition at line 157 of file DWARFListTable.h.

◆ getHeaderOffset()

template<typename DWARFListType>
uint32_t llvm::DWARFListTableBase< DWARFListType >::getHeaderOffset ( ) const
inline

Definition at line 156 of file DWARFListTable.h.

◆ getHeaderSize()

template<typename DWARFListType>
uint8_t llvm::DWARFListTableBase< DWARFListType >::getHeaderSize ( ) const
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 171 of file DWARFListTable.h.

◆ getOffsetEntry()

template<typename DWARFListType>
Optional<uint32_t> llvm::DWARFListTableBase< DWARFListType >::getOffsetEntry ( uint32_t  Index) const
inline

Return the contents of the offset entry designated by a given index.

Definition at line 165 of file DWARFListTable.h.

◆ length()

template<typename DWARFListType>
uint32_t llvm::DWARFListTableBase< DWARFListType >::length ( )
inline

Definition at line 181 of file DWARFListTable.h.


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