9#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
10#define LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
24class BinaryStreamReader;
25class BinaryStreamWriter;
28class DebugChecksumsSubsection;
29class DebugStringTableSubsection;
103 LineInfoArray LinesAndColumns;
108 Block(
uint32_t ChecksumBufferOffset)
109 : ChecksumBufferOffset(ChecksumBufferOffset) {}
112 std::vector<LineNumberEntry>
Lines;
113 std::vector<ColumnNumberEntry> Columns;
144 std::vector<Block> Blocks;
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