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