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
21#include
22#include
23
24namespace llvm {
28
31
32
39
40
43
44
45
48
49
50
51
52};
53
54
59
60
65
71
79
82
85
86public:
88
92
94
95 Iterator begin() const { return LinesAndColumns.begin(); }
96 Iterator end() const { return LinesAndColumns.end(); }
97
99
101
102private:
104 LineInfoArray LinesAndColumns;
105};
106
108 struct Block {
109 Block(uint32_t ChecksumBufferOffset)
110 : ChecksumBufferOffset(ChecksumBufferOffset) {}
111
112 uint32_t ChecksumBufferOffset;
113 std::vector Lines;
114 std::vector Columns;
115 };
116
117public:
120
124
125 void createBlock(StringRef FileName);
129
130 uint32_t calculateSerializedSize() const override;
132
136
137 bool hasColumnInfo() const;
138
139private:
145 std::vector Blocks;
146};
147
148}
149}
150
151#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.
VarStreamArrayIterator< LineColumnEntry, LineColumnExtractor > Iterator
Iterator end() const
Definition DebugLinesSubsection.h:96
LLVM_ABI bool hasColumnInfo() const
LLVM_ABI DebugLinesSubsectionRef()
const LineFragmentHeader * header() const
Definition DebugLinesSubsection.h:98
Iterator begin() const
Definition DebugLinesSubsection.h:95
static bool classof(const DebugSubsectionRef *S)
Definition DebugLinesSubsection.h:89
LLVM_ABI Error initialize(BinaryStreamReader Reader)
friend class LineColumnExtractor
Definition DebugLinesSubsection.h:81
DebugLinesSubsection(DebugChecksumsSubsection &Checksums, DebugStringTableSubsection &Strings)
static bool classof(const DebugSubsection *S)
Definition DebugLinesSubsection.h:121
Represents a read-write view of a CodeView string table.
DebugSubsectionKind kind() const
DebugSubsectionRef(DebugSubsectionKind Kind)
DebugSubsection(DebugSubsectionKind Kind)
DebugSubsectionKind kind() const
const LineFragmentHeader * Header
Definition DebugLinesSubsection.h:77
LLVM_ABI Error operator()(BinaryStreamRef Stream, uint32_t &Len, LineColumnEntry &Item)
detail::packed_endian_specific_integral< uint32_t, llvm::endianness::little, unaligned > ulittle32_t
detail::packed_endian_specific_integral< uint16_t, llvm::endianness::little, unaligned > ulittle16_t
This is an optimization pass for GlobalISel generic memory operations.
Definition DebugLinesSubsection.h:61
support::ulittle16_t StartColumn
Definition DebugLinesSubsection.h:62
support::ulittle16_t EndColumn
Definition DebugLinesSubsection.h:63
Definition DebugLinesSubsection.h:66
FixedStreamArray< ColumnNumberEntry > Columns
Definition DebugLinesSubsection.h:69
support::ulittle32_t NameIndex
Definition DebugLinesSubsection.h:67
FixedStreamArray< LineNumberEntry > LineNumbers
Definition DebugLinesSubsection.h:68
Definition DebugLinesSubsection.h:55
support::ulittle32_t Offset
Definition DebugLinesSubsection.h:56
support::ulittle32_t Flags
Definition DebugLinesSubsection.h:57