LLVM API Documentation
#include <DWARFDebugLine.h>
Public Types | |
typedef std::vector< Row > | RowVector |
typedef RowVector::const_iterator | RowIter |
typedef std::vector< Sequence > | SequenceVector |
typedef SequenceVector::const_iterator | SequenceIter |
Public Member Functions | |
LineTable () | |
void | appendRow (const DWARFDebugLine::Row &R) |
void | appendSequence (const DWARFDebugLine::Sequence &S) |
uint32_t | lookupAddress (uint64_t address) const |
bool | lookupAddressRange (uint64_t address, uint64_t size, std::vector< uint32_t > &result) const |
bool | getFileNameByIndex (uint64_t FileIndex, DILineInfoSpecifier::FileLineInfoKind Kind, std::string &Result) const |
void | dump (raw_ostream &OS) const |
void | clear () |
bool | parse (DataExtractor debug_line_data, const RelocAddrMap *RMap, uint32_t *offset_ptr) |
Parse prologue and all rows. | |
Public Attributes | |
struct Prologue | Prologue |
RowVector | Rows |
SequenceVector | Sequences |
Definition at line 163 of file DWARFDebugLine.h.
typedef RowVector::const_iterator llvm::DWARFDebugLine::LineTable::RowIter |
Definition at line 195 of file DWARFDebugLine.h.
typedef std::vector<Row> llvm::DWARFDebugLine::LineTable::RowVector |
Definition at line 194 of file DWARFDebugLine.h.
typedef SequenceVector::const_iterator llvm::DWARFDebugLine::LineTable::SequenceIter |
Definition at line 197 of file DWARFDebugLine.h.
typedef std::vector<Sequence> llvm::DWARFDebugLine::LineTable::SequenceVector |
Definition at line 196 of file DWARFDebugLine.h.
Definition at line 172 of file DWARFDebugLine.cpp.
void llvm::DWARFDebugLine::LineTable::appendRow | ( | const DWARFDebugLine::Row & | R | ) | [inline] |
Definition at line 166 of file DWARFDebugLine.h.
References Rows.
void llvm::DWARFDebugLine::LineTable::appendSequence | ( | const DWARFDebugLine::Sequence & | S | ) | [inline] |
Definition at line 169 of file DWARFDebugLine.h.
References Sequences.
void DWARFDebugLine::LineTable::clear | ( | ) |
Definition at line 190 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Prologue::clear().
Referenced by llvm::DWARFContext::dump().
void DWARFDebugLine::LineTable::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 176 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Prologue::dump().
Referenced by llvm::DWARFContext::dump().
bool DWARFDebugLine::LineTable::getFileNameByIndex | ( | uint64_t | FileIndex, |
DILineInfoSpecifier::FileLineInfoKind | Kind, | ||
std::string & | Result | ||
) | const |
Definition at line 646 of file DWARFDebugLine.cpp.
References llvm::sys::path::append(), llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::DWARFDebugLine::Prologue::FileNames, llvm::DWARFDebugLine::Prologue::IncludeDirectories, llvm::sys::path::is_absolute(), llvm::DWARFDebugLine::FileNameEntry::Name, llvm::None, and llvm::SmallString< InternalLen >::str().
Referenced by getFileNameForUnit().
uint32_t DWARFDebugLine::LineTable::lookupAddress | ( | uint64_t | address | ) | const |
Definition at line 525 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Row::Address, llvm::DWARFDebugLine::Sequence::containsPC(), llvm::DWARFDebugLine::Sequence::FirstRowIndex, llvm::DWARFDebugLine::Sequence::LastRowIndex, llvm::DWARFDebugLine::Sequence::LowPC, llvm::DWARFDebugLine::Row::orderByAddress(), and llvm::DWARFDebugLine::Sequence::orderByLowPC().
Referenced by getFileLineInfoForCompileUnit().
bool DWARFDebugLine::LineTable::lookupAddressRange | ( | uint64_t | address, |
uint64_t | size, | ||
std::vector< uint32_t > & | result | ||
) | const |
Definition at line 570 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Row::Address, llvm::DWARFDebugLine::Sequence::FirstRowIndex, llvm::DWARFDebugLine::Sequence::HighPC, llvm::DWARFDebugLine::Sequence::LastRowIndex, llvm::DWARFDebugLine::Sequence::LowPC, llvm::DWARFDebugLine::Row::orderByAddress(), and llvm::DWARFDebugLine::Sequence::orderByLowPC().
Referenced by llvm::DWARFContext::getLineInfoForAddressRange().
bool DWARFDebugLine::LineTable::parse | ( | DataExtractor | debug_line_data, |
const RelocAddrMap * | RMap, | ||
uint32_t * | offset_ptr | ||
) |
Parse prologue and all rows.
Definition at line 247 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::dwarf::DW_LNE_define_file, llvm::dwarf::DW_LNE_end_sequence, llvm::dwarf::DW_LNE_set_address, llvm::dwarf::DW_LNE_set_discriminator, llvm::dwarf::DW_LNS_advance_line, llvm::dwarf::DW_LNS_advance_pc, llvm::dwarf::DW_LNS_const_add_pc, llvm::dwarf::DW_LNS_copy, llvm::dwarf::DW_LNS_fixed_advance_pc, llvm::dwarf::DW_LNS_negate_stmt, llvm::dwarf::DW_LNS_set_basic_block, llvm::dwarf::DW_LNS_set_column, llvm::dwarf::DW_LNS_set_epilogue_begin, llvm::dwarf::DW_LNS_set_file, llvm::dwarf::DW_LNS_set_isa, llvm::dwarf::DW_LNS_set_prologue_end, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DWARFDebugLine::Prologue::FileNames, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), llvm::LibFunc::fprintf, llvm::DataExtractor::getAddress(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), llvm::DWARFDebugLine::FileNameEntry::Length, llvm::DWARFDebugLine::Prologue::LineBase, llvm::DWARFDebugLine::Prologue::LineRange, llvm::DWARFDebugLine::Prologue::MinInstLength, llvm::DWARFDebugLine::FileNameEntry::ModTime, llvm::DWARFDebugLine::FileNameEntry::Name, llvm::DWARFDebugLine::Prologue::OpcodeBase, llvm::DWARFDebugLine::Sequence::orderByLowPC(), llvm::DWARFDebugLine::Prologue::parse(), llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths, and llvm::DWARFDebugLine::Prologue::TotalLength.
Referenced by llvm::DWARFContext::dump(), and llvm::DWARFDebugLine::getOrParseLineTable().
Definition at line 193 of file DWARFDebugLine.h.
Referenced by llvm::DWARFContext::dump().
Definition at line 198 of file DWARFDebugLine.h.
Referenced by appendRow(), getFileLineInfoForCompileUnit(), and llvm::DWARFContext::getLineInfoForAddressRange().
Definition at line 199 of file DWARFDebugLine.h.
Referenced by appendSequence().