9#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
10#define LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
25class BinaryStreamReader;
26class BinaryStreamWriter;
29class DebugChecksumsSubsection;
30class DebugStringTableSubsection;
104 LineInfoArray LinesAndColumns;
109 Block(
uint32_t ChecksumBufferOffset)
110 : ChecksumBufferOffset(ChecksumBufferOffset) {}
113 std::vector<LineNumberEntry>
Lines;
114 std::vector<ColumnNumberEntry> Columns;
122 return S->
kind() == DebugSubsectionKind::Lines;
130 uint32_t calculateSerializedSize()
const override;
137 bool hasColumnInfo()
const;
145 std::vector<Block>
Blocks;
Lightweight arrays that are backed by an arbitrary BinaryStream.
DenseMap< Block *, BlockRelaxAux > Blocks
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
LLVM_ABI bool hasColumnInfo() const
LLVM_ABI DebugLinesSubsectionRef()
const LineFragmentHeader * header() const
static bool classof(const DebugSubsectionRef *S)
LLVM_ABI Error initialize(BinaryStreamReader Reader)
static bool classof(const DebugSubsection *S)
Represents a read-write view of a CodeView string table.
DebugSubsectionKind kind() const
DebugSubsectionKind kind() const
const LineFragmentHeader * Header
LLVM_ABI 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