LLVM  10.0.0svn

A class representing an address table as specified in DWARF v5. More...

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

## Public Member Functions

void clear ()

Error extract (DWARFDataExtractor Data, uint64_t *OffsetPtr, uint16_t Version, uint8_t AddrSize, std::function< void(Error)> WarnCallback)
Extract an entire table, including all addresses. More...

void dump (raw_ostream &OS, DIDumpOptions DumpOpts={}) const

Expected< uint64_t > getAddrEntry (uint32_t Index) const
Return the address based on a given index. More...

Return the size of the table header including the length but not including the addresses. More...

uint32_t getLength () const
Returns the length of this table, including the length field, or 0 if the length has not been determined (e.g. More...

bool hasValidLength () const
Verify that the given length is valid for this table. More...

void invalidateLength ()
Invalidate Length field to stop further processing. More...

uint32_t getDataSize () const
Returns the length of the array of addresses. More...

## Detailed Description

A class representing an address table as specified in DWARF v5.

Definition at line 29 of file DWARFDebugAddr.h.

## ◆ clear()

Definition at line 15 of file DWARFDebugAddr.cpp.

References invalidateLength().

Referenced by extract().

## ◆ dump()

 void DWARFDebugAddrTable::dump ( raw_ostream & OS, DIDumpOptions DumpOpts = {} ) const

Definition at line 141 of file DWARFDebugAddr.cpp.

## ◆ extract()

 Error DWARFDebugAddrTable::extract ( DWARFDataExtractor Data, uint64_t * OffsetPtr, uint16_t Version, uint8_t AddrSize, std::function< void(Error)> WarnCallback )

Extract an entire table, including all addresses.

Definition at line 21 of file DWARFDebugAddr.cpp.

Return the address based on a given index.

Definition at line 160 of file DWARFDebugAddr.cpp.

References llvm::createStringError(), and llvm::invalid_argument.

inline

## ◆ getDataSize()

Returns the length of the array of addresses.

Definition at line 176 of file DWARFDebugAddr.cpp.

Referenced by invalidateLength().

inline

Definition at line 61 of file DWARFDebugAddr.h.

inline

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

Definition at line 70 of file DWARFDebugAddr.h.

References llvm::dwarf::DWARF32, llvm::dwarf::DWARF64, getLength(), and llvm_unreachable.

Referenced by getDataSize().

## ◆ getLength()

Returns the length of this 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 169 of file DWARFDebugAddr.cpp.

Referenced by extract(), getDataSize(), getHeaderSize(), and hasValidLength().

## ◆ hasValidLength()

inline

Verify that the given length is valid for this table.

Definition at line 86 of file DWARFDebugAddr.h.

References getLength().