LLVM: llvm::DWARFDebugLine::LineTable Struct Reference (original) (raw)

#include "[llvm/DebugInfo/DWARF/DWARFDebugLine.h](DWARFDebugLine%5F8h%5Fsource.html)"

Public Types
using RowVector = std::vector<Row>
using RowIter = RowVector::const_iterator
using SequenceVector = std::vector<Sequence>
using SequenceIter = SequenceVector::const_iterator
Public Member Functions
LLVM_ABI LineTable ()
void appendRow (const DWARFDebugLine::Row &R)
void appendSequence (const DWARFDebugLine::Sequence &S)
LLVM_ABI uint32_t lookupAddress (object::SectionedAddress Address, bool *IsApproximateLine=nullptr) const
Returns the index of the row with file/line info for a given address, or UnknownRowIndex if there is no such row.
LLVM_ABI bool lookupAddressRange (object::SectionedAddress Address, uint64_t Size, std::vector< uint32_t > &Result, std::optional< uint64_t > StmtSequenceOffset=std::nullopt) const
Fills the Result argument with the indices of the rows that correspond to the address range specified by Address and Size.
bool hasFileAtIndex (uint64_t FileIndex) const
std::optional< uint64_t > getLastValidFileIndex () const
bool getFileNameByIndex (uint64_t FileIndex, StringRef CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, std::string &Result) const
Extracts filename by its index in filename table in prologue.
LLVM_ABI bool getFileLineInfoForAddress (object::SectionedAddress Address, bool Approximate, const char *CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, DILineInfo &Result) const
Fills the Result argument with the file and line information corresponding to Address.
LLVM_ABI bool getDirectoryForEntry (const FileNameEntry &Entry, std::string &Directory) const
Extracts directory name by its Entry in include directories table in prologue.
LLVM_ABI void dump (raw_ostream &OS, DIDumpOptions DumpOptions) const
LLVM_ABI void clear ()
LLVM_ABI Error parse (DWARFDataExtractor &DebugLineData, uint64_t *OffsetPtr, const DWARFContext &Ctx, const DWARFUnit *U, function_ref< void(Error)> RecoverableErrorHandler, raw_ostream *OS=nullptr, bool Verbose=false)
Parse prologue and all rows.
Public Attributes
const uint32_t UnknownRowIndex = UINT32_MAX
Represents an invalid row.
struct Prologue Prologue
RowVector Rows
SequenceVector Sequences

Definition at line 233 of file DWARFDebugLine.h.

RowIter

using llvm::DWARFDebugLine::LineTable::RowIter = RowVector::const_iterator

RowVector

SequenceIter

using llvm::DWARFDebugLine::LineTable::SequenceIter = SequenceVector::const_iterator

SequenceVector

DWARFDebugLine::LineTable::LineTable ( )

appendRow()

appendSequence()

clear()

void DWARFDebugLine::LineTable::clear ( )

dump()

getDirectoryForEntry()

bool DWARFDebugLine::LineTable::getDirectoryForEntry ( const FileNameEntry & Entry,
std::string & Directory ) const

getFileLineInfoForAddress()

getFileNameByIndex()

getLastValidFileIndex()

std::optional< uint64_t > llvm::DWARFDebugLine::LineTable::getLastValidFileIndex ( ) const inline

hasFileAtIndex()

bool llvm::DWARFDebugLine::LineTable::hasFileAtIndex ( uint64_t FileIndex) const inline

lookupAddress()

lookupAddressRange()

parse()

Parse prologue and all rows.

Definition at line 789 of file DWARFDebugLine.cpp.

References llvm::DWARFDebugLine::ParsingState::OpcodeAdvanceResults::AddrDelta, llvm::DWARFDebugLine::ParsingState::SpecialOpcodeDelta::Address, llvm::DWARFDebugLine::ParsingState::AddrOpIndexDelta::AddrOffset, assert(), clear(), llvm::dwarf::computeTombstoneAddress(), llvm::consumeError(), llvm::DWARFFormValue::createFromPValue(), llvm::createStringError(), DenseMapInfo< LocallyHashedType >::Tombstone, llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::DWARFFormValue::dumpAddress(), llvm::DWARFDebugLine::Row::dumpTableHeader(), llvm::First, llvm::format(), llvm::DataExtractor::getAddressSize(), llvm::DataExtractor::getCStr(), llvm::DWARFDataExtractorBase< Relocator >::getRelocatedAddress(), llvm::DWARFDataExtractorBase< Relocator >::getRelocatedValue(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), I, llvm::illegal_byte_sequence, llvm::raw_ostream::indent(), llvm::invalid_argument, llvm::DataExtractor::isValidOffsetForDataOfSize(), llvm::DWARFDebugLine::FileNameEntry::Length, llvm::DWARFDebugLine::ParsingState::SpecialOpcodeDelta::Line, llvm::dwarf::LNExtendedString(), llvm::dwarf::LNStandardString(), llvm::DWARFDebugLine::FileNameEntry::ModTime, llvm::DWARFDebugLine::FileNameEntry::Name, llvm::DWARFDebugLine::ParsingState::SpecialOpcodeDelta::OpIndex, llvm::DWARFDebugLine::ParsingState::AddrOpIndexDelta::OpIndexDelta, llvm::DWARFDebugLine::ParsingState::OpcodeAdvanceResults::OpIndexDelta, llvm::DWARFDebugLine::Sequence::orderByHighPC(), parseULEB128(), Prologue, Rows, Sequences, llvm::DataExtractor::setAddressSize(), llvm::DataExtractor::size(), llvm::DataExtractor::skip(), llvm::stable_sort(), llvm::Error::success(), llvm::DataExtractor::Cursor::takeError(), llvm::DIDumpOptions::Verbose, and llvm::Verbose.

Prologue

struct Prologue llvm::DWARFDebugLine::LineTable::Prologue

Rows

RowVector llvm::DWARFDebugLine::LineTable::Rows

Sequences

SequenceVector llvm::DWARFDebugLine::LineTable::Sequences

UnknownRowIndex

const uint32_t llvm::DWARFDebugLine::LineTable::UnknownRowIndex = UINT32_MAX


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