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