LLVM: include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTORBUILDER_H

10#define LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTORBUILDER_H

11

20#include

21#include

22#include

23

24namespace llvm {

28}

29

30namespace msf {

33}

34namespace pdb {

35

36

37

38

56

57

58

63

66

67public:

71

75

78

79

82

84 MergeSymsCtx = Ctx;

85 MergeSymsCallback = Callback;

86 }

87

89 StringTableFixups = std::move(Fixups);

90 }

91

95

96

97

99

102

105

109

111

113

115

116

117

119

122

123

125

126

127

128

131

132private:

133 uint32_t calculateC13DebugInfoSize() const;

134

137

141 std::string ObjFileName;

143 std::vector Symbols;

144

145 void *MergeSymsCtx = nullptr;

147

148 std::vector StringTableFixups;

149

150 std::vectorcodeview::DebugSubsectionRecordBuilder C13Builders;

151

153};

154

155}

156

157}

158

159#endif

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Provides write only access to a subclass of WritableBinaryStream.

Lightweight error class with error context and mandatory checking.

StringRef - Represent a constant reference to a string, i.e.

LLVM_ABI void addUnmergedSymbols(void *SymSrc, uint32_t SymLength)

StringRef getModuleName() const

Definition DbiModuleDescriptorBuilder.h:107

LLVM_ABI void setObjFileName(StringRef Name)

unsigned getModuleIndex() const

Definition DbiModuleDescriptorBuilder.h:110

LLVM_ABI ~DbiModuleDescriptorBuilder()

LLVM_ABI void setFirstSectionContrib(const SectionContrib &SC)

LLVM_ABI Error finalizeMsfLayout()

LLVM_ABI uint16_t getStreamIndex() const

LLVM_ABI void addSymbol(codeview::CVSymbol Symbol)

LLVM_ABI void setPdbFilePathNI(uint32_t NI)

LLVM_ABI Error commitSymbolStream(const msf::MSFLayout &MsfLayout, WritableBinaryStreamRef MsfBuffer)

Commit the accumulated symbols to the module symbol stream.

LLVM_ABI Error commit(BinaryStreamWriter &ModiWriter)

Commit the DBI descriptor to the DBI stream.

ArrayRef< std::string > source_files() const

Definition DbiModuleDescriptorBuilder.h:112

Error(*)(void *Ctx, void *Symbols, BinaryStreamWriter &Writer) MergeSymbolsCallback

Definition DbiModuleDescriptorBuilder.h:80

DbiModuleDescriptorBuilder & operator=(const DbiModuleDescriptorBuilder &)=delete

void setMergeSymbolsCallback(void *Ctx, MergeSymbolsCallback Callback)

Definition DbiModuleDescriptorBuilder.h:83

friend class DbiStreamBuilder

Definition DbiModuleDescriptorBuilder.h:65

LLVM_ABI void addDebugSubsection(std::shared_ptr< codeview::DebugSubsection > Subsection)

uint32_t getNextSymbolOffset() const

Return the offset within the module symbol stream of the next symbol record passed to addSymbol.

Definition DbiModuleDescriptorBuilder.h:118

DbiModuleDescriptorBuilder(const DbiModuleDescriptorBuilder &)=delete

StringRef getObjFileName() const

Definition DbiModuleDescriptorBuilder.h:108

LLVM_ABI void addSymbolsInBulk(ArrayRef< uint8_t > BulkSymbols)

LLVM_ABI DbiModuleDescriptorBuilder(StringRef ModuleName, uint32_t ModIndex, msf::MSFBuilder &Msf)

LLVM_ABI uint32_t calculateSerializedLength() const

void setStringTableFixups(std::vector< StringTableFixup > &&Fixups)

Definition DbiModuleDescriptorBuilder.h:88

CVRecord< SymbolKind > CVSymbol

This is an optimization pass for GlobalISel generic memory operations.

Represents a string table reference at some offset in the module symbol stream.

Definition DbiModuleDescriptorBuilder.h:59

uint32_t StrTabOffset

Definition DbiModuleDescriptorBuilder.h:60

uint32_t SymOffsetOfReference

Definition DbiModuleDescriptorBuilder.h:61

uint32_t size() const

Definition DbiModuleDescriptorBuilder.h:50

ArrayRef< uint8_t > asArray() const

Definition DbiModuleDescriptorBuilder.h:46

SymbolListWrapper(void *SymSrc, uint32_t Length)

Definition DbiModuleDescriptorBuilder.h:43

SymbolListWrapper(ArrayRef< uint8_t > Syms)

Definition DbiModuleDescriptorBuilder.h:40

bool NeedsToBeMerged

Definition DbiModuleDescriptorBuilder.h:54

void * SymPtr

Definition DbiModuleDescriptorBuilder.h:52

uint32_t SymSize

Definition DbiModuleDescriptorBuilder.h:53