9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
24class WritableBinaryStream;
34struct SrcHeaderBlockEntry;
35class DbiStreamBuilder;
36class InfoStreamBuilder;
37class GSIStreamBuilder;
38class TpiStreamBuilder;
64 std::unique_ptr<MemoryBuffer> Buffer);
67 struct InjectedSourceDescriptor {
71 std::string StreamName;
80 std::unique_ptr<MemoryBuffer>
Content;
83 Error finalizeMsfLayout();
93 std::unique_ptr<msf::MSFBuilder> Msf;
94 std::unique_ptr<InfoStreamBuilder> Info;
95 std::unique_ptr<DbiStreamBuilder> Dbi;
96 std::unique_ptr<GSIStreamBuilder> Gsi;
97 std::unique_ptr<TpiStreamBuilder> Tpi;
98 std::unique_ptr<TpiStreamBuilder> Ipi;
This file defines the BumpPtrAllocator interface.
This file defines the DenseMap class.
This file defines the SmallVector class.
static const int BlockSize
Allocate memory in an ever growing pool, as if by bump-pointer.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
A BinaryStream which can be read from as well as written to.
PDBFileBuilder(const PDBFileBuilder &)=delete
LLVM_ABI TpiStreamBuilder & getTpiBuilder()
LLVM_ABI msf::MSFBuilder & getMsfBuilder()
PDBFileBuilder & operator=(const PDBFileBuilder &)=delete
LLVM_ABI PDBStringTableBuilder & getStringTableBuilder()
LLVM_ABI Error addNamedStream(StringRef Name, StringRef Data)
LLVM_ABI DbiStreamBuilder & getDbiBuilder()
LLVM_ABI TpiStreamBuilder & getIpiBuilder()
LLVM_ABI GSIStreamBuilder & getGsiBuilder()
LLVM_ABI InfoStreamBuilder & getInfoBuilder()
LLVM_ABI ~PDBFileBuilder()
LLVM_ABI Error initialize(uint32_t BlockSize)
LLVM_ABI Error commit(StringRef Filename, codeview::GUID *Guid)
LLVM_ABI void addInjectedSource(StringRef Name, std::unique_ptr< MemoryBuffer > Buffer)
LLVM_ABI Expected< uint32_t > getNamedStreamIndex(StringRef Name) const
This is an optimization pass for GlobalISel generic memory operations.
This represents the 'GUID' type from windows.h.