LLVM: include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H

10#define LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H

11

20#include

21#include

22

23namespace llvm {

24class BinaryStreamReader;

25class BinaryStreamWriter;

26namespace codeview {

27

28class DebugChecksumsSubsection;

29class DebugStringTableSubsection;

30

31

37};

38

39

42

43

44

47

48

49

50

51};

52

53

57};

58

59

63};

64

69};

70

72public:

75

77};

78

81

84

85public:

87

90 }

91

93

96

98

100

101private:

103 LineInfoArray LinesAndColumns;

104};

105

107 struct Block {

108 Block(uint32_t ChecksumBufferOffset)

109 : ChecksumBufferOffset(ChecksumBufferOffset) {}

110

111 uint32_t ChecksumBufferOffset;

112 std::vector Lines;

113 std::vector Columns;

114 };

115

116public:

119

122 }

123

128

131

135

137

138private:

144 std::vector Blocks;

145};

146

147}

148}

149

150#endif

Lightweight arrays that are backed by an arbitrary BinaryStream.

Provides read only access to a subclass of BinaryStream.

BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.

Provides write only access to a subclass of WritableBinaryStream.

Lightweight error class with error context and mandatory checking.

FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.

StringRef - Represent a constant reference to a string, i.e.

VarStreamArray represents an array of variable length records backed by a stream.

VarStreamArrayIterator< LineColumnEntry, LineColumnExtractor > Iterator

Iterator begin(bool *HadError=nullptr) const

bool hasColumnInfo() const

DebugLinesSubsectionRef()

const LineFragmentHeader * header() const

static bool classof(const DebugSubsectionRef *S)

Error initialize(BinaryStreamReader Reader)

void setRelocationAddress(uint16_t Segment, uint32_t Offset)

void setCodeSize(uint32_t Size)

static bool classof(const DebugSubsection *S)

bool hasColumnInfo() const

void addLineInfo(uint32_t Offset, const LineInfo &Line)

void setFlags(LineFlags Flags)

Error commit(BinaryStreamWriter &Writer) const override

void addLineAndColumnInfo(uint32_t Offset, const LineInfo &Line, uint32_t ColStart, uint32_t ColEnd)

void createBlock(StringRef FileName)

uint32_t calculateSerializedSize() const override

Represents a read-write view of a CodeView string table.

DebugSubsectionKind kind() const

DebugSubsectionKind kind() const

const LineFragmentHeader * Header

Error operator()(BinaryStreamRef Stream, uint32_t &Len, LineColumnEntry &Item)

This is an optimization pass for GlobalISel generic memory operations.

support::ulittle16_t StartColumn

support::ulittle16_t EndColumn

FixedStreamArray< ColumnNumberEntry > Columns

support::ulittle32_t NameIndex

FixedStreamArray< LineNumberEntry > LineNumbers

support::ulittle32_t Offset

support::ulittle32_t Flags