10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PDBTPISTREAMBUILDER_H 11 #define LLVM_DEBUGINFO_PDB_RAW_PDBTPISTREAMBUILDER_H 26 class BinaryByteStream;
27 class WritableBinaryStreamRef;
46 struct TpiStreamHeader;
59 Error finalizeMsfLayout();
65 uint32_t calculateSerializedLength();
68 uint32_t calculateHashBufferSize()
const;
69 uint32_t calculateIndexOffsetSize()
const;
75 size_t TypeRecordBytes = 0;
78 std::vector<ArrayRef<uint8_t>> TypeRecords;
79 std::vector<uint32_t> TypeHashes;
80 std::vector<codeview::TypeIndexOffset> TypeIndexOffsets;
82 std::unique_ptr<BinaryByteStream> HashValueStream;
This class represents lattice values for constants.
static ArrayRef< uint8_t > bytes(const codeview::CVType &Item)
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
ArrayRef< uint8_t > data() const
const uint16_t kInvalidStreamIndex
The instances of the Type class are immutable: once they are created, they are never changed...
Allocate memory in an ever growing pool, as if by bump-pointer.
static size_t length(const codeview::CVType &Item)
uint32_t getRecordCount() const
Lightweight error class with error context and mandatory checking.