LLVM: llvm::pdb::PDBFile Class Reference (original) (raw)

#include "[llvm/DebugInfo/PDB/Native/PDBFile.h](PDBFile%5F8h%5Fsource.html)"

Public Member Functions
PDBFile (StringRef Path, std::unique_ptr< BinaryStream > PdbFileBuffer, BumpPtrAllocator &Allocator)
~PDBFile () override
StringRef getFileDirectory () const
StringRef getFilePath () const
uint32_t getFreeBlockMapBlock () const
uint32_t getUnknown1 () const
uint32_t getBlockSize () const override
uint32_t getBlockCount () const override
uint32_t getNumDirectoryBytes () const
uint32_t getBlockMapIndex () const
uint32_t getNumDirectoryBlocks () const
uint64_t getBlockMapOffset () const
uint32_t getNumStreams () const override
uint32_t getMaxStreamSize () const
uint32_t getStreamByteSize (uint32_t StreamIndex) const override
ArrayRef< support::ulittle32_t > getStreamBlockList (uint32_t StreamIndex) const override
uint64_t getFileSize () const
Expected< ArrayRef< uint8_t > > getBlockData (uint32_t BlockIndex, uint32_t NumBytes) const override
Error setBlockData (uint32_t BlockIndex, uint32_t Offset, ArrayRef< uint8_t > Data) const override
ArrayRef< support::ulittle32_t > getStreamSizes () const
ArrayRef< ArrayRef< support::ulittle32_t > > getStreamMap () const
const msf::MSFLayout & getMsfLayout () const
BinaryStreamRef getMsfBuffer () const
ArrayRef< support::ulittle32_t > getDirectoryBlockArray () const
std::unique_ptr< msf::MappedBlockStream > createIndexedStream (uint16_t SN) const
Expected< std::unique_ptr< msf::MappedBlockStream > > safelyCreateIndexedStream (uint32_t StreamIndex) const
Wrapper around MappedBlockStream::createIndexedStream() that checks if a stream with that index actually exists.
Expected< std::unique_ptr< msf::MappedBlockStream > > safelyCreateNamedStream (StringRef Name)
msf::MSFStreamLayout getStreamLayout (uint32_t StreamIdx) const
msf::MSFStreamLayout getFpmStreamLayout () const
Error parseFileHeaders ()
Error parseStreamData ()
Expected< InfoStream & > getPDBInfoStream ()
Expected< DbiStream & > getPDBDbiStream ()
Expected< GlobalsStream & > getPDBGlobalsStream ()
Expected< TpiStream & > getPDBTpiStream ()
Expected< TpiStream & > getPDBIpiStream ()
Expected< PublicsStream & > getPDBPublicsStream ()
Expected< SymbolStream & > getPDBSymbolStream ()
Expected< PDBStringTable & > getStringTable ()
Expected< InjectedSourceStream & > getInjectedSourceStream ()
BumpPtrAllocator & getAllocator ()
bool hasPDBDbiStream () const
bool hasPDBGlobalsStream ()
bool hasPDBInfoStream () const
bool hasPDBIpiStream () const
bool hasPDBPublicsStream ()
bool hasPDBSymbolStream ()
bool hasPDBTpiStream () const
bool hasPDBStringTable ()
bool hasPDBInjectedSourceStream ()
uint32_t getPointerSize ()
Public Member Functions inherited from llvm::msf::IMSFFile
virtual ~IMSFFile ()=default

Definition at line 41 of file PDBFile.h.

~PDBFile()

PDBFile::~PDBFile ( ) overridedefault

References llvm::pdb::Data, getBlockCount(), getBlockData(), getBlockMapIndex(), getBlockMapOffset(), getBlockSize(), getFileDirectory(), getFilePath(), getFileSize(), getFreeBlockMapBlock(), getMaxStreamSize(), getNumDirectoryBlocks(), getNumDirectoryBytes(), getNumStreams(), getStreamBlockList(), getStreamByteSize(), getUnknown1(), llvm::pdb::Offset, and setBlockData().

createIndexedStream()

getAllocator()

getBlockCount()

uint32_t PDBFile::getBlockCount ( ) const overridevirtual

getBlockData()

getBlockMapIndex()

uint32_t PDBFile::getBlockMapIndex ( ) const

getBlockMapOffset()

uint64_t PDBFile::getBlockMapOffset ( ) const

getBlockSize()

uint32_t PDBFile::getBlockSize ( ) const overridevirtual

getDirectoryBlockArray()

getFileDirectory()

StringRef PDBFile::getFileDirectory ( ) const

getFilePath()

getFileSize()

getFpmStreamLayout()

getFreeBlockMapBlock()

uint32_t PDBFile::getFreeBlockMapBlock ( ) const

getInjectedSourceStream()

getMaxStreamSize()

uint32_t PDBFile::getMaxStreamSize ( ) const

getMsfBuffer()

getMsfLayout()

getNumDirectoryBlocks()

uint32_t PDBFile::getNumDirectoryBlocks ( ) const

getNumDirectoryBytes()

uint32_t PDBFile::getNumDirectoryBytes ( ) const

getNumStreams()

uint32_t PDBFile::getNumStreams ( ) const overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 84 of file PDBFile.cpp.

Referenced by hasPDBDbiStream(), hasPDBGlobalsStream(), hasPDBInfoStream(), hasPDBInjectedSourceStream(), hasPDBIpiStream(), hasPDBPublicsStream(), hasPDBStringTable(), hasPDBSymbolStream(), hasPDBTpiStream(), safelyCreateIndexedStream(), and ~PDBFile().

getPDBDbiStream()

getPDBGlobalsStream()

getPDBInfoStream()

getPDBIpiStream()

getPDBPublicsStream()

getPDBSymbolStream()

getPDBTpiStream()

getPointerSize()

getStreamBlockList()

getStreamByteSize()

uint32_t PDBFile::getStreamByteSize ( uint32_t StreamIndex) const overridevirtual

getStreamLayout()

getStreamMap()

getStreamSizes()

getStringTable()

getUnknown1()

hasPDBDbiStream()

bool PDBFile::hasPDBDbiStream ( ) const

hasPDBGlobalsStream()

bool PDBFile::hasPDBGlobalsStream ( )

hasPDBInfoStream()

bool PDBFile::hasPDBInfoStream ( ) const

hasPDBInjectedSourceStream()

bool PDBFile::hasPDBInjectedSourceStream ( )

hasPDBIpiStream()

bool PDBFile::hasPDBIpiStream ( ) const

hasPDBPublicsStream()

bool PDBFile::hasPDBPublicsStream ( )

hasPDBStringTable()

bool PDBFile::hasPDBStringTable ( )

hasPDBSymbolStream()

bool PDBFile::hasPDBSymbolStream ( )

hasPDBTpiStream()

bool PDBFile::hasPDBTpiStream ( ) const

parseFileHeaders()

Error PDBFile::parseFileHeaders ( )

Definition at line 119 of file PDBFile.cpp.

References llvm::msf::SuperBlock::BlockSize, llvm::codeview::Byte, llvm::BinaryStreamReader::bytesRemaining(), llvm::consumeError(), llvm::pdb::corrupt_file, llvm::msf::MappedBlockStream::createFpmStream(), llvm::codeview::EC, getBlockCount(), getBlockMapOffset(), getNumDirectoryBlocks(), I, llvm::make_error(), llvm::msf::SuperBlock::NumBlocks, llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readBytes(), llvm::BinaryStreamReader::readObject(), llvm::BinaryStreamReader::setOffset(), llvm::Error::success(), and llvm::msf::validateSuperBlock().

parseStreamData()

Error PDBFile::parseStreamData ( )

Definition at line 179 of file PDBFile.cpp.

References assert(), llvm::pdb::Block, llvm::BinaryStreamReader::bytesRemaining(), llvm::msf::bytesToBlocks(), llvm::pdb::corrupt_file, llvm::msf::MappedBlockStream::createDirectoryStream(), llvm::codeview::EC, getFileSize(), getStreamByteSize(), I, llvm::make_error(), llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readInteger(), and llvm::Error::success().

safelyCreateIndexedStream()

Wrapper around MappedBlockStream::createIndexedStream() that checks if a stream with that index actually exists.

If it does not, the return value will have an MSFError with code msf_error_code::no_stream. Else, the return value will contain the stream returned by createIndexedStream().

Definition at line 487 of file PDBFile.cpp.

References createIndexedStream(), getNumStreams(), llvm::make_error(), and llvm::pdb::no_stream.

Referenced by getPDBDbiStream(), getPDBGlobalsStream(), getPDBInfoStream(), getPDBIpiStream(), getPDBPublicsStream(), getPDBSymbolStream(), getPDBTpiStream(), and safelyCreateNamedStream().

safelyCreateNamedStream()

setBlockData()


The documentation for this class was generated from the following files: