LLVM  9.0.0svn
Public Types | Public Member Functions | List of all members
llvm::DWARFDebugLine::SectionParser Class Reference

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

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

Public Types

using cu_range = DWARFUnitVector::iterator_range
 
using tu_range = DWARFUnitVector::iterator_range
 
using LineToUnitMap = std::map< uint64_t, DWARFUnit * >
 

Public Member Functions

 SectionParser (DWARFDataExtractor &Data, const DWARFContext &C, cu_range CUs, tu_range TUs)
 
LineTable parseNext (function_ref< void(Error)> RecoverableErrorCallback, function_ref< void(Error)> UnrecoverableErrorCallback, raw_ostream *OS=nullptr)
 Get the next line table from the section. More...
 
void skip (function_ref< void(Error)> ErrorCallback)
 Skip the current line table and go to the following line table (if present) immediately. More...
 
bool done () const
 Indicates if the parser has parsed as much as possible. More...
 
uint32_t getOffset () const
 Get the offset the parser has reached. More...
 

Detailed Description

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

Definition at line 305 of file DWARFDebugLine.h.

Member Typedef Documentation

◆ cu_range

Definition at line 307 of file DWARFDebugLine.h.

◆ LineToUnitMap

Definition at line 309 of file DWARFDebugLine.h.

◆ tu_range

Definition at line 308 of file DWARFDebugLine.h.

Constructor & Destructor Documentation

◆ SectionParser()

DWARFDebugLine::SectionParser::SectionParser ( DWARFDataExtractor Data,
const DWARFContext C,
cu_range  CUs,
tu_range  TUs 
)

Member Function Documentation

◆ done()

bool llvm::DWARFDebugLine::SectionParser::done ( ) const
inline

Indicates if the parser has parsed as much as possible.

Note
Certain problems with the line table structure might mean that parsing stops before the end of the section is reached.

Definition at line 340 of file DWARFDebugLine.h.

Referenced by llvm::DWARFContext::dump().

◆ getOffset()

uint32_t llvm::DWARFDebugLine::SectionParser::getOffset ( ) const
inline

Get the offset the parser has reached.

Definition at line 343 of file DWARFDebugLine.h.

References Context, and P.

Referenced by llvm::DWARFContext::dump().

◆ parseNext()

DWARFDebugLine::LineTable DWARFDebugLine::SectionParser::parseNext ( function_ref< void(Error)>  RecoverableErrorCallback,
function_ref< void(Error)>  UnrecoverableErrorCallback,
raw_ostream OS = nullptr 
)

Get the next line table from the section.

Report any issues via the callbacks.

Parameters
RecoverableErrorCallback- any issues that don't prevent further parsing of the table will be reported through this callback.
UnrecoverableErrorCallback- any issues that prevent further parsing of the table will be reported through this callback.
OS- if not null, the parser will print information about the table as it parses it.

Definition at line 1098 of file DWARFDebugLine.cpp.

References assert(), llvm::DataExtractor::isValidOffset(), and llvm::AArch64CC::LT.

Referenced by llvm::DWARFContext::dump().

◆ skip()

void DWARFDebugLine::SectionParser::skip ( function_ref< void(Error)>  ErrorCallback)

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

Parameters
ErrorCallback- report any prologue parsing issues via this callback.

Definition at line 1113 of file DWARFDebugLine.cpp.

References assert(), llvm::DataExtractor::isValidOffset(), and llvm::AArch64CC::LT.

Referenced by llvm::DWARFContext::dump().


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