class DWARFLocationTable
Declaration
class DWARFLocationTable { /* full declaration omitted */ };
Description
An abstract base class for various kinds of location tables (.debug_loc, .debug_loclists, and their dwo variants).
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:46
Member Variables
- protected llvm::DWARFDataExtractor Data
Method Overview
- public DWARFLocationTable(llvm::DWARFDataExtractor Data)
- public bool dumpLocationList(uint64_t * Offset, llvm::raw_ostream & OS, Optional<object::SectionedAddress> BaseAddr, const llvm::MCRegisterInfo * MRI, const llvm::DWARFObject & Obj, llvm::DWARFUnit * U, llvm::DIDumpOptions DumpOpts, unsigned int Indent) const
- protected virtual void dumpRawEntry(const llvm::DWARFLocationEntry & Entry, llvm::raw_ostream & OS, unsigned int Indent, llvm::DIDumpOptions DumpOpts, const llvm::DWARFObject & Obj) const
- public llvm::Error visitAbsoluteLocationList(uint64_t Offset, Optional<object::SectionedAddress> BaseAddr, std::function<Optional<object::SectionedAddress> (uint32_t)> LookupAddr, function_ref<bool (Expected<llvm::DWARFLocationExpression>)> Callback) const
- public virtual llvm::Error visitLocationList(uint64_t * Offset, function_ref<bool (const llvm::DWARFLocationEntry &)> Callback) const
- public virtual ~DWARFLocationTable()
Methods
¶DWARFLocationTable(llvm::DWARFDataExtractor Data)
DWARFLocationTable(llvm::DWARFDataExtractor Data)
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:48
Parameters
¶bool dumpLocationList(
uint64_t* Offset,
llvm::raw_ostream& OS,
Optional<object::SectionedAddress> BaseAddr,
const llvm::MCRegisterInfo* MRI,
const llvm::DWARFObject& Obj,
llvm::DWARFUnit* U,
llvm::DIDumpOptions DumpOpts,
unsigned int Indent) const
bool dumpLocationList(
uint64_t* Offset,
llvm::raw_ostream& OS,
Optional<object::SectionedAddress> BaseAddr,
const llvm::MCRegisterInfo* MRI,
const llvm::DWARFObject& Obj,
llvm::DWARFUnit* U,
llvm::DIDumpOptions DumpOpts,
unsigned int Indent) const
Description
Dump the location list at the given \p Offset. The function returns true iff it has successfully reched the end of the list. This means that one can attempt to parse another list after the current one (\p Offset will be updated to point past the end of the current list).
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:64
Parameters
- uint64_t* Offset
- llvm::raw_ostream& OS
- Optional<object::SectionedAddress> BaseAddr
- const llvm::MCRegisterInfo* MRI
- const llvm::DWARFObject& Obj
- llvm::DWARFUnit* U
- llvm::DIDumpOptions DumpOpts
- unsigned int Indent
¶virtual void dumpRawEntry(
const llvm::DWARFLocationEntry& Entry,
llvm::raw_ostream& OS,
unsigned int Indent,
llvm::DIDumpOptions DumpOpts,
const llvm::DWARFObject& Obj) const
virtual void dumpRawEntry(
const llvm::DWARFLocationEntry& Entry,
llvm::raw_ostream& OS,
unsigned int Indent,
llvm::DIDumpOptions DumpOpts,
const llvm::DWARFObject& Obj) const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:78
Parameters
- const llvm::DWARFLocationEntry& Entry
- llvm::raw_ostream& OS
- unsigned int Indent
- llvm::DIDumpOptions DumpOpts
- const llvm::DWARFObject& Obj
¶llvm::Error visitAbsoluteLocationList(
uint64_t Offset,
Optional<object::SectionedAddress> BaseAddr,
std::function<
Optional<object::SectionedAddress>(
uint32_t)> LookupAddr,
function_ref<bool(
Expected<llvm::DWARFLocationExpression>)>
Callback) const
llvm::Error visitAbsoluteLocationList(
uint64_t Offset,
Optional<object::SectionedAddress> BaseAddr,
std::function<
Optional<object::SectionedAddress>(
uint32_t)> LookupAddr,
function_ref<bool(
Expected<llvm::DWARFLocationExpression>)>
Callback) const
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:70
Parameters
- uint64_t Offset
- Optional<object::SectionedAddress> BaseAddr
- std::function<Optional<object::SectionedAddress>( uint32_t)> LookupAddr
- function_ref<bool( Expected<llvm::DWARFLocationExpression>)> Callback
¶virtual llvm::Error visitLocationList(
uint64_t* Offset,
function_ref<
bool(const llvm::DWARFLocationEntry&)>
Callback) const
virtual llvm::Error visitLocationList(
uint64_t* Offset,
function_ref<
bool(const llvm::DWARFLocationEntry&)>
Callback) const
Description
Call the user-provided callback for each entry (including the end-of-list entry) in the location list starting at \p Offset. The callback can return false to terminate the iteration early. Returns an error if it was unable to parse the entire location list correctly. Upon successful termination\p Offset will be updated point past the end of the list.
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:56
Parameters
- uint64_t* Offset
- function_ref<bool( const llvm::DWARFLocationEntry&)> Callback
¶virtual ~DWARFLocationTable()
virtual ~DWARFLocationTable()
Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h:49