LLVM  10.0.0svn
Classes | Typedefs | Enumerations | Functions
LineTable.cpp File Reference
#include "llvm/DebugInfo/GSYM/LineTable.h"
#include "llvm/DebugInfo/GSYM/FileWriter.h"
#include "llvm/Support/DataExtractor.h"
Include dependency graph for LineTable.cpp:

Go to the source code of this file.

Classes

struct  DeltaInfo
 

Typedefs

typedef std::function< bool(const LineEntry &Row)> LineEntryCallback
 

Enumerations

enum  LineTableOpCode {
  EndSequence = 0x00, SetFile = 0x01, AdvancePC = 0x02, AdvanceLine = 0x03,
  FirstSpecial = 0x04
}
 

Functions

bool operator< (const DeltaInfo &LHS, int64_t Delta)
 
static bool encodeSpecial (int64_t MinLineDelta, int64_t MaxLineDelta, int64_t LineDelta, uint64_t AddrDelta, uint8_t &SpecialOp)
 
static llvm::Error parse (DataExtractor &Data, uint64_t BaseAddr, LineEntryCallback const &Callback)
 

Typedef Documentation

◆ LineEntryCallback

Definition at line 52 of file LineTable.cpp.

Enumeration Type Documentation

◆ LineTableOpCode

Enumerator
EndSequence 

End of the line table.

SetFile 

Set LineTableRow.file_idx, don't push a row.

AdvancePC 

Increment LineTableRow.address, and push a row.

AdvanceLine 

Set LineTableRow.file_line, don't push a row.

FirstSpecial 

All special opcodes push a row.

Definition at line 16 of file LineTable.cpp.

Function Documentation

◆ encodeSpecial()

static bool encodeSpecial ( int64_t  MinLineDelta,
int64_t  MaxLineDelta,
int64_t  LineDelta,
uint64_t  AddrDelta,
uint8_t &  SpecialOp 
)
static

Definition at line 34 of file LineTable.cpp.

References FirstSpecial.

◆ operator<()

bool operator< ( const DeltaInfo LHS,
int64_t  Delta 
)
inline

◆ parse()

static llvm::Error parse ( DataExtractor Data,
uint64_t  BaseAddr,
LineEntryCallback const Callback 
)
static