Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
10 #define LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
24 class BinaryStreamReader;
25 class BinaryStreamWriter;
28 class DebugChecksumsSubsection;
29 class 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;
150 #endif // LLVM_DEBUGINFO_CODEVIEW_DEBUGLINESSUBSECTION_H
void createBlock(StringRef FileName)
Error commit(BinaryStreamWriter &Writer) const override
This is an optimization pass for GlobalISel generic memory operations.
FixedStreamArray< ColumnNumberEntry > Columns
Error initialize(BinaryStreamReader Reader)
Provides write only access to a subclass of WritableBinaryStream.
static bool classof(const DebugSubsection *S)
support::ulittle32_t Flags
DebugLinesSubsectionRef()
Represents a read-write view of a CodeView string table.
void setFlags(LineFlags Flags)
FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.
bool hasColumnInfo() const
support::ulittle16_t StartColumn
Error operator()(BinaryStreamRef Stream, uint32_t &Len, LineColumnEntry &Item)
support::ulittle32_t NameIndex
VarStreamArrayIterator< LineColumnEntry, LineColumnExtractor > Iterator
Provides read only access to a subclass of BinaryStream.
void addLineInfo(uint32_t Offset, const LineInfo &Line)
support::ulittle32_t Offset
VarStreamArray represents an array of variable length records backed by a stream.
void addLineAndColumnInfo(uint32_t Offset, const LineInfo &Line, uint32_t ColStart, uint32_t ColEnd)
const LineFragmentHeader * Header
void setRelocationAddress(uint16_t Segment, uint32_t Offset)
StringRef - Represent a constant reference to a string, i.e.
FixedStreamArray< LineNumberEntry > LineNumbers
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
support::ulittle16_t EndColumn
Iterator begin(bool *HadError=nullptr) const
static bool classof(const DebugSubsectionRef *S)
Lightweight error class with error context and mandatory checking.
bool hasColumnInfo() const
const LineFragmentHeader * header() const
uint32_t calculateSerializedSize() const override
DebugLinesSubsection(DebugChecksumsSubsection &Checksums, DebugStringTableSubsection &Strings)
void setCodeSize(uint32_t Size)
BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.