9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTORBUILDER_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTORBUILDER_H
85 MergeSymsCallback = Callback;
89 StringTableFixups = std::move(Fixups);
133 uint32_t calculateC13DebugInfoSize()
const;
141 std::string ObjFileName;
143 std::vector<SymbolListWrapper>
Symbols;
145 void *MergeSymsCtx =
nullptr;
148 std::vector<StringTableFixup> StringTableFixups;
150 std::vector<codeview::DebugSubsectionRecordBuilder> C13Builders;
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
LLVM_ABI void setObjFileName(StringRef Name)
unsigned getModuleIndex() const
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
Error(*)(void *Ctx, void *Symbols, BinaryStreamWriter &Writer) MergeSymbolsCallback
DbiModuleDescriptorBuilder & operator=(const DbiModuleDescriptorBuilder &)=delete
void setMergeSymbolsCallback(void *Ctx, MergeSymbolsCallback Callback)
friend class DbiStreamBuilder
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.
DbiModuleDescriptorBuilder(const DbiModuleDescriptorBuilder &)=delete
StringRef getObjFileName() const
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)
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.
uint32_t SymOffsetOfReference
ArrayRef< uint8_t > asArray() const
SymbolListWrapper(void *SymSrc, uint32_t Length)
SymbolListWrapper(ArrayRef< uint8_t > Syms)