9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
23class WritableBinaryStream;
33struct SrcHeaderBlockEntry;
34class DbiStreamBuilder;
35class InfoStreamBuilder;
36class GSIStreamBuilder;
37class TpiStreamBuilder;
65 struct InjectedSourceDescriptor {
69 std::string StreamName;
78 std::unique_ptr<MemoryBuffer>
Content;
81 Error finalizeMsfLayout();
91 std::unique_ptr<msf::MSFBuilder> Msf;
92 std::unique_ptr<InfoStreamBuilder> Info;
93 std::unique_ptr<DbiStreamBuilder> Dbi;
94 std::unique_ptr<GSIStreamBuilder> Gsi;
95 std::unique_ptr<TpiStreamBuilder> Tpi;
96 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
TpiStreamBuilder & getTpiBuilder()
msf::MSFBuilder & getMsfBuilder()
PDBFileBuilder & operator=(const PDBFileBuilder &)=delete
PDBStringTableBuilder & getStringTableBuilder()
Error addNamedStream(StringRef Name, StringRef Data)
DbiStreamBuilder & getDbiBuilder()
TpiStreamBuilder & getIpiBuilder()
GSIStreamBuilder & getGsiBuilder()
InfoStreamBuilder & getInfoBuilder()
Error initialize(uint32_t BlockSize)
Error commit(StringRef Filename, codeview::GUID *Guid)
void addInjectedSource(StringRef Name, std::unique_ptr< MemoryBuffer > Buffer)
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.