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