LLVM  3.7.0
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::DWARFDebugLine::LineTable Struct Reference

#include <DWARFDebugLine.h>

Collaboration diagram for llvm::DWARFDebugLine::LineTable:
[legend]

Public Types

typedef std::vector< RowRowVector
 
typedef RowVector::const_iterator RowIter
 
typedef std::vector< SequenceSequenceVector
 
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, const char *CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, std::string &Result) const
 
bool getFileLineInfoForAddress (uint64_t Address, const char *CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, DILineInfo &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. More...
 

Public Attributes

const uint32_t UnknownRowIndex = UINT32_MAX
 
struct Prologue Prologue
 
RowVector Rows
 
SequenceVector Sequences
 

Detailed Description

Definition at line 171 of file DWARFDebugLine.h.

Member Typedef Documentation

typedef RowVector::const_iterator llvm::DWARFDebugLine::LineTable::RowIter

Definition at line 212 of file DWARFDebugLine.h.

Definition at line 211 of file DWARFDebugLine.h.

typedef SequenceVector::const_iterator llvm::DWARFDebugLine::LineTable::SequenceIter

Definition at line 214 of file DWARFDebugLine.h.

Definition at line 213 of file DWARFDebugLine.h.

Constructor & Destructor Documentation

DWARFDebugLine::LineTable::LineTable ( )

Definition at line 181 of file DWARFDebugLine.cpp.

Member Function Documentation

void llvm::DWARFDebugLine::LineTable::appendRow ( const DWARFDebugLine::Row R)
inline

Definition at line 177 of file DWARFDebugLine.h.

References Rows.

void llvm::DWARFDebugLine::LineTable::appendSequence ( const DWARFDebugLine::Sequence S)
inline

Definition at line 180 of file DWARFDebugLine.h.

References Sequences.

void DWARFDebugLine::LineTable::clear ( )

Definition at line 199 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 185 of file DWARFDebugLine.cpp.

References llvm::DWARFDebugLine::Prologue::dump().

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

bool DWARFDebugLine::LineTable::getFileLineInfoForAddress ( uint64_t  Address,
const char *  CompDir,
DILineInfoSpecifier::FileLineInfoKind  Kind,
DILineInfo Result 
) const
bool DWARFDebugLine::LineTable::getFileNameByIndex ( uint64_t  FileIndex,
const char *  CompDir,
DILineInfoSpecifier::FileLineInfoKind  Kind,
std::string &  Result 
) const
uint32_t DWARFDebugLine::LineTable::lookupAddress ( uint64_t  address) const
bool DWARFDebugLine::LineTable::lookupAddressRange ( uint64_t  address,
uint64_t  size,
std::vector< uint32_t > &  result 
) const
bool DWARFDebugLine::LineTable::parse ( DataExtractor  debug_line_data,
const RelocAddrMap RMap,
uint32_t *  offset_ptr 
)

Parse prologue and all rows.

Definition at line 256 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, BucketT >::end(), llvm::DWARFDebugLine::Prologue::FileNames, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), 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::sizeofTotalLength(), llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths, and llvm::DWARFDebugLine::Prologue::TotalLength.

Referenced by llvm::DWARFContext::dump(), and llvm::DWARFDebugLine::getOrParseLineTable().

Member Data Documentation

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

Definition at line 210 of file DWARFDebugLine.h.

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

RowVector llvm::DWARFDebugLine::LineTable::Rows

Definition at line 215 of file DWARFDebugLine.h.

Referenced by appendRow(), and llvm::DWARFContext::getLineInfoForAddressRange().

SequenceVector llvm::DWARFDebugLine::LineTable::Sequences

Definition at line 216 of file DWARFDebugLine.h.

Referenced by appendSequence().

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

Definition at line 175 of file DWARFDebugLine.h.


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