Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_PDBFILEBUILDER_H
23 class WritableBinaryStream;
33 struct SrcHeaderBlockEntry;
34 class DbiStreamBuilder;
35 class InfoStreamBuilder;
36 class GSIStreamBuilder;
37 class 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 is an optimization pass for GlobalISel generic memory operations.
static const int BlockSize
InfoStreamBuilder & getInfoBuilder()
This represents the 'GUID' type from windows.h.
Tagged union holding either a T or a Error.
PDBStringTableBuilder & getStringTableBuilder()
msf::MSFBuilder & getMsfBuilder()
Error commit(StringRef Filename, codeview::GUID *Guid)
Error addNamedStream(StringRef Name, StringRef Data)
DbiStreamBuilder & getDbiBuilder()
Expected< uint32_t > getNamedStreamIndex(StringRef Name) const
GSIStreamBuilder & getGsiBuilder()
PDBFileBuilder(BumpPtrAllocator &Allocator)
Allocate memory in an ever growing pool, as if by bump-pointer.
StringRef - Represent a constant reference to a string, i.e.
Error initialize(uint32_t BlockSize)
TpiStreamBuilder & getTpiBuilder()
Lightweight error class with error context and mandatory checking.
PDBFileBuilder & operator=(const PDBFileBuilder &)=delete
A BinaryStream which can be read from as well as written to.
TpiStreamBuilder & getIpiBuilder()
void addInjectedSource(StringRef Name, std::unique_ptr< MemoryBuffer > Buffer)