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:
- include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
- lib/DebugInfo/DWARF/DWARFDebugLine.cpp