summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h')
-rw-r--r--contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h b/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
index e9869bb..cb60b1e 100644
--- a/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
+++ b/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
@@ -19,12 +19,16 @@
#include "llvm/DebugInfo/PDB/Raw/RawConstants.h"
namespace llvm {
+namespace msf {
+class MSFBuilder;
+class StreamWriter;
+}
namespace pdb {
class PDBFile;
class InfoStreamBuilder {
public:
- InfoStreamBuilder();
+ InfoStreamBuilder(msf::MSFBuilder &Msf);
InfoStreamBuilder(const InfoStreamBuilder &) = delete;
InfoStreamBuilder &operator=(const InfoStreamBuilder &) = delete;
@@ -37,13 +41,18 @@ public:
uint32_t calculateSerializedLength() const;
- Expected<std::unique_ptr<InfoStream>> build(PDBFile &File);
+ Error finalizeMsfLayout();
+
+ Error commit(const msf::MSFLayout &Layout,
+ const msf::WritableStream &Buffer) const;
private:
- Optional<PdbRaw_ImplVer> Ver;
- Optional<uint32_t> Sig;
- Optional<uint32_t> Age;
- Optional<PDB_UniqueId> Guid;
+ msf::MSFBuilder &Msf;
+
+ PdbRaw_ImplVer Ver;
+ uint32_t Sig;
+ uint32_t Age;
+ PDB_UniqueId Guid;
NameMapBuilder NamedStreams;
};
OpenPOWER on IntegriCloud