LLVM 19.0.0git
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"

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.

Referenced by llvm::gsym::LineTable::encode().

◆ operator<()

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

Definition at line 30 of file LineTable.cpp.

References LHS.

◆ parse()

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