class DWARFDebugLine::SectionParser

Declaration

class DWARFDebugLine::SectionParser { /* full declaration omitted */ };

Description

Helper to allow for parsing of an entire .debug_line section in sequence.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:310

Member Variables

private llvm::DWARFDebugLine::SectionParser::LineToUnitMap LineToUnit
private llvm::DWARFDataExtractor& DebugLineData
private const llvm::DWARFContext& Context
private uint64_t Offset = 0
private bool Done = false

Method Overview

  • public SectionParser(llvm::DWARFDataExtractor & Data, const llvm::DWARFContext & C, DWARFUnitVector::iterator_range Units)
  • public bool done() const
  • public uint64_t getOffset() const
  • private void moveToNextTable(uint64_t OldOffset, const llvm::DWARFDebugLine::Prologue & P)
  • public llvm::DWARFDebugLine::LineTable parseNext(function_ref<void (llvm::Error)> RecoverableErrorHandler, function_ref<void (llvm::Error)> UnrecoverableErrorHandler, llvm::raw_ostream * OS = nullptr, bool Verbose = false)
  • private llvm::DWARFUnit * prepareToParse(uint64_t Offset)
  • public void skip(function_ref<void (llvm::Error)> RecoverableErrorHandler, function_ref<void (llvm::Error)> UnrecoverableErrorHandler)

Methods

SectionParser(
    llvm::DWARFDataExtractor& Data,
    const llvm::DWARFContext& C,
    DWARFUnitVector::iterator_range Units)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:314

Parameters

llvm::DWARFDataExtractor& Data
const llvm::DWARFContext& C
DWARFUnitVector::iterator_range Units

bool done() const

Description

Indicates if the parser has parsed as much as possible.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:346

uint64_t getOffset() const

Description

Get the offset the parser has reached.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:349

void moveToNextTable(
    uint64_t OldOffset,
    const llvm::DWARFDebugLine::Prologue& P)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:353

Parameters

uint64_t OldOffset
const llvm::DWARFDebugLine::Prologue& P

llvm::DWARFDebugLine::LineTable parseNext(
    function_ref<void(llvm::Error)>
        RecoverableErrorHandler,
    function_ref<void(llvm::Error)>
        UnrecoverableErrorHandler,
    llvm::raw_ostream* OS = nullptr,
    bool Verbose = false)

Description

Get the next line table from the section. Report any issues via the handlers.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:328

Parameters

function_ref<void(llvm::Error)> RecoverableErrorHandler
- any issues that don't prevent further parsing of the table will be reported through this handler.
function_ref<void(llvm::Error)> UnrecoverableErrorHandler
- any issues that prevent further parsing of the table will be reported through this handler.
llvm::raw_ostream* OS = nullptr
- if not null, the parser will print information about the table as it parses it.
bool Verbose = false
- if true, the parser will print verbose information when printing to the output.

llvm::DWARFUnit* prepareToParse(uint64_t Offset)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:352

Parameters

uint64_t Offset

void skip(function_ref<void(llvm::Error)>
              RecoverableErrorHandler,
          function_ref<void(llvm::Error)>
              UnrecoverableErrorHandler)

Description

Skip the current line table and go to the following line table (if present) immediately.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:339

Parameters

function_ref<void(llvm::Error)> RecoverableErrorHandler
- report any recoverable prologue parsing issues via this handler.
function_ref<void(llvm::Error)> UnrecoverableErrorHandler
- report any unrecoverable prologue parsing issues via this handler.