10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PDBFILE_H
11 #define LLVM_DEBUGINFO_PDB_RAW_PDBFILE_H
28 class MappedBlockStream;
45 PDBFile(std::unique_ptr<msf::ReadableStream> PdbFileBuffer,
114 std::unique_ptr<msf::ReadableStream> Buffer;
116 std::vector<uint32_t> FpmPages;
119 std::unique_ptr<GlobalsStream> Globals;
120 std::unique_ptr<InfoStream> Info;
121 std::unique_ptr<DbiStream> Dbi;
122 std::unique_ptr<TpiStream> Tpi;
123 std::unique_ptr<TpiStream> Ipi;
124 std::unique_ptr<PublicsStream> Publics;
125 std::unique_ptr<SymbolStream> Symbols;
126 std::unique_ptr<msf::MappedBlockStream> DirectoryStream;
127 std::unique_ptr<msf::MappedBlockStream> StringTableStream;
128 std::unique_ptr<NameHashTable> StringTable;
uint32_t getNumDirectoryBytes() const
bool hasPDBSymbolStream()
PDBFile(std::unique_ptr< msf::ReadableStream > PdbFileBuffer, BumpPtrAllocator &Allocator)
ArrayRef< support::ulittle32_t > getDirectoryBlockArray() const
Expected< GlobalsStream & > getPDBGlobalsStream()
bool hasPDBPublicsStream()
uint32_t getBlockMapIndex() const
Expected< TpiStream & > getPDBTpiStream()
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
uint32_t getFileSize() const
uint32_t getNumStreams() const override
Error setBlockData(uint32_t BlockIndex, uint32_t Offset, ArrayRef< uint8_t > Data) const override
uint64_t getBlockMapOffset() const
ArrayRef< support::ulittle32_t > getStreamSizes() const
uint32_t getStreamByteSize(uint32_t StreamIndex) const override
uint32_t getBlockSize() const override
Tagged union holding either a T or a Error.
bool hasPDBDbiStream() const
ArrayRef< uint32_t > getFpmPages() const
bool hasPDBIpiStream() const
Expected< NameHashTable & > getStringTable()
BumpPtrAllocator & getAllocator()
Allocate memory in an ever growing pool, as if by bump-pointer.
Expected< SymbolStream & > getPDBSymbolStream()
const msf::ReadableStream & getMsfBuffer() const
Expected< TpiStream & > getPDBIpiStream()
const msf::MSFLayout & getMsfLayout() const
Expected< DbiStream & > getPDBDbiStream()
uint32_t getNumDirectoryBlocks() const
uint32_t getUnknown1() const
uint32_t getFreeBlockMapBlock() const
Expected< PublicsStream & > getPDBPublicsStream()
bool hasPDBTpiStream() const
ArrayRef< ArrayRef< support::ulittle32_t > > getStreamMap() const
std::vector< ArrayRef< support::ulittle32_t > > StreamMap
bool hasPDBGlobalsStream()
Expected< ArrayRef< uint8_t > > getBlockData(uint32_t BlockIndex, uint32_t NumBytes) const override
ArrayRef< support::ulittle32_t > StreamSizes
Expected< InfoStream & > getPDBInfoStream()
Lightweight error class with error context and mandatory checking.
ArrayRef< support::ulittle32_t > getStreamBlockList(uint32_t StreamIndex) const override
uint32_t getBlockCount() const override