LLVM 20.0.0git
|
#include "llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h"
Public Member Functions | |
TpiStreamBuilder (msf::MSFBuilder &Msf, uint32_t StreamIdx) | |
~TpiStreamBuilder () | |
TpiStreamBuilder (const TpiStreamBuilder &)=delete | |
TpiStreamBuilder & | operator= (const TpiStreamBuilder &)=delete |
void | setVersionHeader (PdbRaw_TpiVer Version) |
void | addTypeRecord (ArrayRef< uint8_t > Type, std::optional< uint32_t > Hash) |
void | addTypeRecords (ArrayRef< uint8_t > Types, ArrayRef< uint16_t > Sizes, ArrayRef< uint32_t > Hashes) |
Error | finalizeMsfLayout () |
uint32_t | getRecordCount () const |
Error | commit (const msf::MSFLayout &Layout, WritableBinaryStreamRef Buffer) |
uint32_t | calculateSerializedLength () |
Definition at line 39 of file TpiStreamBuilder.h.
|
explicit |
Definition at line 32 of file TpiStreamBuilder.cpp.
References Allocator.
|
default |
|
delete |
Definition at line 58 of file TpiStreamBuilder.cpp.
References assert(), and llvm::codeview::MaxRecordLength.
void TpiStreamBuilder::addTypeRecords | ( | ArrayRef< uint8_t > | Types, |
ArrayRef< uint16_t > | Sizes, | ||
ArrayRef< uint32_t > | Hashes | ||
) |
Definition at line 73 of file TpiStreamBuilder.cpp.
References llvm::append_range(), assert(), llvm::ArrayRef< T >::empty(), and llvm::ArrayRef< T >::size().
uint32_t TpiStreamBuilder::calculateSerializedLength | ( | ) |
Definition at line 129 of file TpiStreamBuilder.cpp.
Referenced by finalizeMsfLayout().
Error TpiStreamBuilder::commit | ( | const msf::MSFLayout & | Layout, |
WritableBinaryStreamRef | Buffer | ||
) |
Definition at line 173 of file TpiStreamBuilder.cpp.
References assert(), llvm::msf::WritableMappedBlockStream::createIndexedStream(), llvm::pdb::kInvalidStreamIndex, llvm::Error::success(), llvm::BinaryStreamWriter::writeBytes(), llvm::BinaryStreamWriter::writeObject(), and llvm::BinaryStreamWriter::writeStreamRef().
Error TpiStreamBuilder::finalizeMsfLayout | ( | ) |
Definition at line 143 of file TpiStreamBuilder.cpp.
References llvm::msf::MSFBuilder::addStream(), llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold, GrowthDelay >::Allocate(), calculateSerializedLength(), H, I, llvm::Length, llvm::little, llvm::pdb::MaxTpiHashBuckets, llvm::msf::MSFBuilder::setStreamSize(), and llvm::Error::success().
|
inline |
Definition at line 54 of file TpiStreamBuilder.h.
|
delete |
void TpiStreamBuilder::setVersionHeader | ( | PdbRaw_TpiVer | Version | ) |
Definition at line 38 of file TpiStreamBuilder.cpp.
References llvm::Version.