LLVM
8.0.1
|
#include "llvm/DebugInfo/PDB/Native/PDBFileBuilder.h"
Public Member Functions | |
PDBFileBuilder (BumpPtrAllocator &Allocator) | |
~PDBFileBuilder () | |
PDBFileBuilder (const PDBFileBuilder &)=delete | |
PDBFileBuilder & | operator= (const PDBFileBuilder &)=delete |
Error | initialize (uint32_t BlockSize) |
msf::MSFBuilder & | getMsfBuilder () |
InfoStreamBuilder & | getInfoBuilder () |
DbiStreamBuilder & | getDbiBuilder () |
TpiStreamBuilder & | getTpiBuilder () |
TpiStreamBuilder & | getIpiBuilder () |
PDBStringTableBuilder & | getStringTableBuilder () |
GSIStreamBuilder & | getGsiBuilder () |
Error | commit (StringRef Filename, codeview::GUID *Guid) |
Expected< uint32_t > | getNamedStreamIndex (StringRef Name) const |
Error | addNamedStream (StringRef Name, StringRef Data) |
void | addInjectedSource (StringRef Name, std::unique_ptr< MemoryBuffer > Buffer) |
Definition at line 39 of file PDBFileBuilder.h.
|
explicit |
Definition at line 36 of file PDBFileBuilder.cpp.
PDBFileBuilder::~PDBFileBuilder | ( | ) |
Definition at line 40 of file PDBFileBuilder.cpp.
|
delete |
void PDBFileBuilder::addInjectedSource | ( | StringRef | Name, |
std::unique_ptr< MemoryBuffer > | Buffer | ||
) |
Definition at line 103 of file PDBFileBuilder.cpp.
References llvm::pdb::PDBStringTableBuilder::calculateSerializedSize(), llvm::pdb::SrcHeaderBlockEntry::CRC, llvm::codeview::EC, llvm::SmallVectorBase::empty(), llvm::pdb::SrcHeaderBlockEntry::FileNI, llvm::pdb::SrcHeaderBlockEntry::FileSize, llvm::JamCRC::getCRC(), getInfoBuilder(), llvm::pdb::PDBStringTableBuilder::getStringForId(), getStringTableBuilder(), llvm::pdb::PDBStringTableBuilder::insert(), llvm::pdb::SrcHeaderBlockEntry::IsVirtual, llvm::StringRef::lower(), llvm::makeArrayRef(), llvm::Intrinsic::memset, llvm::sys::path::native(), llvm::pdb::SrcHeaderBlockEntry::ObjNI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::pdb::SrcHeaderBlockEntry::Size, llvm::pdb::SrcVerOne, llvm::Error::success(), llvm::Expected< T >::takeError(), llvm::JamCRC::update(), llvm::pdb::VC140, llvm::pdb::SrcHeaderBlockEntry::Version, and llvm::pdb::SrcHeaderBlockEntry::VFileNI.
Definition at line 94 of file PDBFileBuilder.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::pdb::Data, llvm::StringRef::size(), llvm::Error::success(), and llvm::Expected< T >::takeError().
Error PDBFileBuilder::commit | ( | StringRef | Filename, |
codeview::GUID * | Guid | ||
) |
Definition at line 265 of file PDBFileBuilder.cpp.
References llvm::arrayRefFromStringRef(), assert(), llvm::msf::SuperBlock::BlockSize, llvm::msf::blockToOffset(), llvm::pdb::PDBStringTableBuilder::commit(), llvm::FileBufferByteStream::commit(), llvm::codeview::EC, llvm::StringRef::empty(), llvm::FileBufferByteStream::getBufferEnd(), llvm::FileBufferByteStream::getBufferStart(), getNamedStreamIndex(), llvm::codeview::GUID::Guid, H, llvm::Optional< T >::hasValue(), llvm::Intrinsic::memcpy, llvm::msf::MSFLayout::SB, llvm::msf::MSFLayout::StreamMap, llvm::pdb::StreamPDB, llvm::Expected< T >::takeError(), llvm::BinaryStreamWriter::writeBytes(), and llvm::xxHash64().
DbiStreamBuilder & PDBFileBuilder::getDbiBuilder | ( | ) |
Definition at line 58 of file PDBFileBuilder.cpp.
GSIStreamBuilder & PDBFileBuilder::getGsiBuilder | ( | ) |
Definition at line 80 of file PDBFileBuilder.cpp.
References Name, llvm::pdb::NamedStreamMap::set(), and Size.
InfoStreamBuilder & PDBFileBuilder::getInfoBuilder | ( | ) |
Definition at line 52 of file PDBFileBuilder.cpp.
Referenced by addInjectedSource().
TpiStreamBuilder & PDBFileBuilder::getIpiBuilder | ( | ) |
Definition at line 70 of file PDBFileBuilder.cpp.
References llvm::pdb::StreamIPI.
MSFBuilder & PDBFileBuilder::getMsfBuilder | ( | ) |
Definition at line 50 of file PDBFileBuilder.cpp.
Definition at line 219 of file PDBFileBuilder.cpp.
References llvm::arrayRefFromStringRef(), assert(), llvm::BinaryStreamWriter::bytesRemaining(), llvm::cantFail(), llvm::pdb::NamedStreamMap::get(), llvm::Intrinsic::memset, llvm::pdb::no_stream, llvm::pdb::SrcHeaderBlockHeader::Size, llvm::pdb::SrcVerOne, llvm::pdb::SrcHeaderBlockHeader::Version, llvm::BinaryStreamWriter::writeBytes(), and llvm::BinaryStreamWriter::writeObject().
Referenced by commit().
PDBStringTableBuilder & PDBFileBuilder::getStringTableBuilder | ( | ) |
Definition at line 76 of file PDBFileBuilder.cpp.
Referenced by addInjectedSource().
TpiStreamBuilder & PDBFileBuilder::getTpiBuilder | ( | ) |
Definition at line 64 of file PDBFileBuilder.cpp.
References llvm::pdb::StreamTPI.
Definition at line 42 of file PDBFileBuilder.cpp.
References llvm::Error::success().
|
delete |