LLVM  4.0.0
Public Member Functions | List of all members
llvm::pdb::PDBFile Class Reference

#include <PDBFile.h>

Inheritance diagram for llvm::pdb::PDBFile:
[legend]
Collaboration diagram for llvm::pdb::PDBFile:
[legend]

Public Member Functions

 PDBFile (std::unique_ptr< msf::ReadableStream > PdbFileBuffer, BumpPtrAllocator &Allocator)
 
 ~PDBFile () override
 
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 getStreamByteSize (uint32_t StreamIndex) const override
 
ArrayRef< support::ulittle32_tgetStreamBlockList (uint32_t StreamIndex) const override
 
uint32_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< uint32_tgetFpmPages () const
 
ArrayRef< support::ulittle32_tgetStreamSizes () const
 
ArrayRef< ArrayRef
< support::ulittle32_t > > 
getStreamMap () const
 
const msf::MSFLayoutgetMsfLayout () const
 
const msf::ReadableStreamgetMsfBuffer () const
 
ArrayRef< support::ulittle32_tgetDirectoryBlockArray () 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< NameHashTable & > getStringTable ()
 
BumpPtrAllocatorgetAllocator ()
 
bool hasPDBDbiStream () const
 
bool hasPDBGlobalsStream ()
 
bool hasPDBInfoStream ()
 
bool hasPDBIpiStream () const
 
bool hasPDBPublicsStream ()
 
bool hasPDBSymbolStream ()
 
bool hasPDBTpiStream () const
 
bool hasStringTable ()
 
- Public Member Functions inherited from llvm::msf::IMSFFile
virtual ~IMSFFile ()=default
 

Detailed Description

Definition at line 41 of file PDBFile.h.

Constructor & Destructor Documentation

PDBFile::PDBFile ( std::unique_ptr< msf::ReadableStream PdbFileBuffer,
BumpPtrAllocator Allocator 
)

Definition at line 41 of file PDBFile.cpp.

PDBFile::~PDBFile ( )
overridedefault

Member Function Documentation

BumpPtrAllocator& llvm::pdb::PDBFile::getAllocator ( )
inline

Definition at line 96 of file PDBFile.h.

uint32_t PDBFile::getBlockCount ( ) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 53 of file PDBFile.cpp.

References llvm::msf::SuperBlock::NumBlocks, and llvm::msf::MSFLayout::SB.

Referenced by parseFileHeaders().

Expected< ArrayRef< uint8_t > > PDBFile::getBlockData ( uint32_t  BlockIndex,
uint32_t  NumBytes 
) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 92 of file PDBFile.cpp.

References llvm::msf::blockToOffset(), llvm::codeview::EC, and getBlockSize().

uint32_t PDBFile::getBlockMapIndex ( ) const

Definition at line 61 of file PDBFile.cpp.

References llvm::msf::SuperBlock::BlockMapAddr, and llvm::msf::MSFLayout::SB.

uint64_t PDBFile::getBlockMapOffset ( ) const
uint32_t PDBFile::getBlockSize ( ) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 47 of file PDBFile.cpp.

References llvm::msf::SuperBlock::BlockSize, and llvm::msf::MSFLayout::SB.

Referenced by getBlockData().

ArrayRef< support::ulittle32_t > PDBFile::getDirectoryBlockArray ( ) const

Definition at line 220 of file PDBFile.cpp.

References llvm::msf::MSFLayout::DirectoryBlocks.

uint32_t PDBFile::getFileSize ( ) const

Definition at line 90 of file PDBFile.cpp.

Referenced by parseStreamData().

ArrayRef<uint32_t> llvm::pdb::PDBFile::getFpmPages ( ) const
inline

Definition at line 70 of file PDBFile.h.

uint32_t PDBFile::getFreeBlockMapBlock ( ) const
const msf::ReadableStream& llvm::pdb::PDBFile::getMsfBuffer ( ) const
inline

Definition at line 80 of file PDBFile.h.

Referenced by llvm::pdb::TpiStream::reload().

const msf::MSFLayout& llvm::pdb::PDBFile::getMsfLayout ( ) const
inline

Definition at line 79 of file PDBFile.h.

Referenced by llvm::pdb::TpiStream::reload().

uint32_t PDBFile::getNumDirectoryBlocks ( ) const
uint32_t PDBFile::getNumDirectoryBytes ( ) const
uint32_t PDBFile::getNumStreams ( ) const
overridevirtual
Expected< DbiStream & > PDBFile::getPDBDbiStream ( )
Expected< GlobalsStream & > PDBFile::getPDBGlobalsStream ( )

Definition at line 224 of file PDBFile.cpp.

References llvm::codeview::EC, and getPDBDbiStream().

Expected< InfoStream & > PDBFile::getPDBInfoStream ( )
Expected< TpiStream & > PDBFile::getPDBIpiStream ( )

Definition at line 277 of file PDBFile.cpp.

References llvm::codeview::EC, and llvm::pdb::StreamIPI.

Expected< PublicsStream & > PDBFile::getPDBPublicsStream ( )

Definition at line 289 of file PDBFile.cpp.

References llvm::codeview::EC, and getPDBDbiStream().

Expected< SymbolStream & > PDBFile::getPDBSymbolStream ( )

Definition at line 307 of file PDBFile.cpp.

References llvm::codeview::EC, and getPDBDbiStream().

Referenced by llvm::pdb::PublicsStream::getSymbols().

Expected< TpiStream & > PDBFile::getPDBTpiStream ( )

Definition at line 265 of file PDBFile.cpp.

References llvm::codeview::EC, and llvm::pdb::StreamTPI.

ArrayRef< support::ulittle32_t > PDBFile::getStreamBlockList ( uint32_t  StreamIndex) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 86 of file PDBFile.cpp.

References llvm::msf::MSFLayout::StreamMap.

uint32_t PDBFile::getStreamByteSize ( uint32_t  StreamIndex) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 81 of file PDBFile.cpp.

References llvm::msf::MSFLayout::StreamSizes.

Referenced by parseStreamData().

ArrayRef<ArrayRef<support::ulittle32_t> > llvm::pdb::PDBFile::getStreamMap ( ) const
inline

Definition at line 75 of file PDBFile.h.

References llvm::msf::MSFLayout::StreamMap.

ArrayRef<support::ulittle32_t> llvm::pdb::PDBFile::getStreamSizes ( ) const
inline

Definition at line 72 of file PDBFile.h.

References llvm::msf::MSFLayout::StreamSizes.

Expected< NameHashTable & > PDBFile::getStringTable ( )

Definition at line 326 of file PDBFile.cpp.

References llvm::codeview::EC, getPDBInfoStream(), and N.

uint32_t PDBFile::getUnknown1 ( ) const

Definition at line 65 of file PDBFile.cpp.

References llvm::msf::MSFLayout::SB, and llvm::msf::SuperBlock::Unknown1.

bool PDBFile::hasPDBDbiStream ( ) const

Definition at line 348 of file PDBFile.cpp.

References getNumStreams(), and llvm::pdb::StreamDBI.

bool PDBFile::hasPDBGlobalsStream ( )

Definition at line 350 of file PDBFile.cpp.

References getNumStreams(), and getPDBDbiStream().

bool PDBFile::hasPDBInfoStream ( )

Definition at line 356 of file PDBFile.cpp.

References getNumStreams(), and llvm::pdb::StreamPDB.

bool PDBFile::hasPDBIpiStream ( ) const

Definition at line 358 of file PDBFile.cpp.

References getNumStreams(), and llvm::pdb::StreamIPI.

bool PDBFile::hasPDBPublicsStream ( )

Definition at line 360 of file PDBFile.cpp.

References getNumStreams(), and getPDBDbiStream().

bool PDBFile::hasPDBSymbolStream ( )

Definition at line 366 of file PDBFile.cpp.

References getNumStreams(), and getPDBDbiStream().

bool PDBFile::hasPDBTpiStream ( ) const

Definition at line 372 of file PDBFile.cpp.

References getNumStreams(), and llvm::pdb::StreamTPI.

bool PDBFile::hasStringTable ( )

Definition at line 374 of file PDBFile.cpp.

References getNumStreams(), and getPDBInfoStream().

Error PDBFile::parseFileHeaders ( )
Error PDBFile::parseStreamData ( )
Error PDBFile::setBlockData ( uint32_t  BlockIndex,
uint32_t  Offset,
ArrayRef< uint8_t >  Data 
) const
overridevirtual

Implements llvm::msf::IMSFFile.

Definition at line 102 of file PDBFile.cpp.

References llvm::pdb::not_writable.


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