LLVM
8.0.1
|
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
PDBFile::PDBFile | ( | StringRef | Path, |
std::unique_ptr< BinaryStream > | PdbFileBuffer, | ||
BumpPtrAllocator & | Allocator | ||
) |
Definition at line 42 of file PDBFile.cpp.
References ~PDBFile().
|
overridedefault |
Referenced by PDBFile().
std::unique_ptr< MappedBlockStream > PDBFile::createIndexedStream | ( | uint16_t | SN | ) |
Definition at line 237 of file PDBFile.cpp.
References llvm::pdb::kInvalidStreamIndex.
|
inline |
Definition at line 104 of file PDBFile.h.
References Allocator, getPointerSize(), and Info.
Referenced by llvm::pdb::DbiStream::getECName(), and llvm::pdb::TpiStream::reload().
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 60 of file PDBFile.cpp.
References llvm::msf::SuperBlock::NumBlocks, and llvm::msf::MSFLayout::SB.
Referenced by parseFileHeaders().
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 104 of file PDBFile.cpp.
References llvm::msf::blockToOffset(), llvm::codeview::EC, and getBlockSize().
uint32_t PDBFile::getBlockMapIndex | ( | ) | const |
Definition at line 68 of file PDBFile.cpp.
References llvm::msf::SuperBlock::BlockMapAddr, and llvm::msf::MSFLayout::SB.
uint64_t PDBFile::getBlockMapOffset | ( | ) | const |
Definition at line 79 of file PDBFile.cpp.
References llvm::msf::SuperBlock::BlockMapAddr, llvm::msf::SuperBlock::BlockSize, and llvm::msf::MSFLayout::SB.
Referenced by parseFileHeaders().
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 54 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 233 of file PDBFile.cpp.
References llvm::msf::MSFLayout::DirectoryBlocks.
StringRef PDBFile::getFileDirectory | ( | ) | const |
Definition at line 50 of file PDBFile.cpp.
References llvm::sys::path::parent_path().
StringRef PDBFile::getFilePath | ( | ) | const |
Definition at line 48 of file PDBFile.cpp.
Referenced by llvm::pdb::NativeExeSymbol::getSymbolsFileName().
uint32_t PDBFile::getFileSize | ( | ) | const |
Definition at line 102 of file PDBFile.cpp.
Referenced by parseStreamData().
msf::MSFStreamLayout PDBFile::getFpmStreamLayout | ( | ) | const |
Definition at line 252 of file PDBFile.cpp.
References llvm::msf::getFpmStreamLayout().
uint32_t PDBFile::getFreeBlockMapBlock | ( | ) | const |
Definition at line 56 of file PDBFile.cpp.
References llvm::msf::SuperBlock::FreeBlockMapBlock, and llvm::msf::MSFLayout::SB.
uint32_t PDBFile::getMaxStreamSize | ( | ) | const |
Definition at line 88 of file PDBFile.cpp.
References llvm::msf::MSFLayout::StreamSizes.
|
inline |
Definition at line 83 of file PDBFile.h.
References llvm::msf::getFpmStreamLayout().
Referenced by llvm::pdb::DbiStream::getECName(), and llvm::pdb::TpiStream::reload().
|
inline |
Definition at line 82 of file PDBFile.h.
Referenced by llvm::pdb::DbiStream::getECName(), and llvm::pdb::TpiStream::reload().
uint32_t PDBFile::getNumDirectoryBlocks | ( | ) | const |
Definition at line 74 of file PDBFile.cpp.
References llvm::msf::SuperBlock::BlockSize, llvm::msf::bytesToBlocks(), llvm::msf::SuperBlock::NumDirectoryBytes, and llvm::msf::MSFLayout::SB.
Referenced by parseFileHeaders().
uint32_t PDBFile::getNumDirectoryBytes | ( | ) | const |
Definition at line 64 of file PDBFile.cpp.
References llvm::msf::SuperBlock::NumDirectoryBytes, and llvm::msf::MSFLayout::SB.
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 84 of file PDBFile.cpp.
References llvm::msf::MSFLayout::StreamSizes.
Referenced by llvm::pdb::DbiStream::getECName(), hasPDBGlobalsStream(), hasPDBInfoStream(), hasPDBIpiStream(), hasPDBPublicsStream(), hasPDBStringTable(), hasPDBSymbolStream(), hasPDBTpiStream(), and llvm::pdb::TpiStream::reload().
Definition at line 287 of file PDBFile.cpp.
References llvm::codeview::EC, and llvm::pdb::StreamDBI.
Referenced by getDbiStreamPtr(), getPDBGlobalsStream(), getPDBPublicsStream(), getPDBSymbolStream(), getPointerSize(), llvm::pdb::NativeExeSymbol::hasCTypes(), hasPDBGlobalsStream(), hasPDBPublicsStream(), hasPDBSymbolStream(), and llvm::pdb::NativeExeSymbol::hasPrivateSymbols().
Expected< GlobalsStream & > PDBFile::getPDBGlobalsStream | ( | ) |
Definition at line 256 of file PDBFile.cpp.
References llvm::codeview::EC, and getPDBDbiStream().
Referenced by llvm::pdb::NativeEnumGlobals::NativeEnumGlobals().
Expected< InfoStream & > PDBFile::getPDBInfoStream | ( | ) |
Definition at line 274 of file PDBFile.cpp.
References llvm::codeview::EC, and llvm::pdb::StreamPDB.
Referenced by llvm::pdb::NativeExeSymbol::getAge(), llvm::pdb::NativeExeSymbol::getGuid(), getStringTable(), hasPDBIpiStream(), and hasPDBStringTable().
Definition at line 313 of file PDBFile.cpp.
References llvm::codeview::EC, hasPDBIpiStream(), llvm::pdb::no_stream, and llvm::pdb::StreamIPI.
Expected< PublicsStream & > PDBFile::getPDBPublicsStream | ( | ) |
Definition at line 329 of file PDBFile.cpp.
References llvm::codeview::EC, and getPDBDbiStream().
Expected< SymbolStream & > PDBFile::getPDBSymbolStream | ( | ) |
Definition at line 347 of file PDBFile.cpp.
References llvm::codeview::EC, and getPDBDbiStream().
Referenced by llvm::pdb::SymbolCache::getOrCreateGlobalSymbolByOffset(), and llvm::pdb::NativeEnumGlobals::NativeEnumGlobals().
Definition at line 300 of file PDBFile.cpp.
References llvm::codeview::EC, and llvm::pdb::StreamTPI.
Referenced by llvm::pdb::SymbolCache::createTypeEnumerator(), llvm::pdb::SymbolCache::findSymbolByTypeIndex(), and llvm::pdb::NativeTypeFunctionSig::~NativeTypeFunctionSig().
uint32_t PDBFile::getPointerSize | ( | ) |
Definition at line 394 of file PDBFile.cpp.
References llvm::pdb::Amd64, getPDBDbiStream(), and Machine.
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 98 of file PDBFile.cpp.
References llvm::msf::MSFLayout::StreamMap.
Referenced by getStreamLayout().
Implements llvm::msf::IMSFFile.
Definition at line 93 of file PDBFile.cpp.
References llvm::msf::MSFLayout::StreamSizes.
Referenced by getStreamLayout(), and parseStreamData().
MSFStreamLayout PDBFile::getStreamLayout | ( | uint32_t | StreamIdx | ) | const |
Definition at line 244 of file PDBFile.cpp.
References llvm::msf::MSFStreamLayout::Blocks, getStreamBlockList(), getStreamByteSize(), and llvm::msf::MSFStreamLayout::Length.
|
inline |
|
inline |
Expected< PDBStringTable & > PDBFile::getStringTable | ( | ) |
Definition at line 367 of file PDBFile.cpp.
References assert(), llvm::codeview::EC, getPDBInfoStream(), N, and llvm::Expected< T >::takeError().
uint32_t PDBFile::getUnknown1 | ( | ) | const |
Definition at line 72 of file PDBFile.cpp.
References llvm::msf::MSFLayout::SB, and llvm::msf::SuperBlock::Unknown1.
bool PDBFile::hasPDBDbiStream | ( | ) | const |
Definition at line 404 of file PDBFile.cpp.
bool PDBFile::hasPDBGlobalsStream | ( | ) |
Definition at line 408 of file PDBFile.cpp.
References llvm::consumeError(), getNumStreams(), and getPDBDbiStream().
bool PDBFile::hasPDBInfoStream | ( | ) | const |
Definition at line 418 of file PDBFile.cpp.
References getNumStreams(), and llvm::pdb::StreamPDB.
Referenced by hasPDBIpiStream().
bool PDBFile::hasPDBIpiStream | ( | ) | const |
Definition at line 420 of file PDBFile.cpp.
References llvm::cantFail(), llvm::pdb::InfoStream::containsIdStream(), getNumStreams(), getPDBInfoStream(), hasPDBInfoStream(), and llvm::pdb::StreamIPI.
Referenced by getPDBIpiStream().
bool PDBFile::hasPDBPublicsStream | ( | ) |
Definition at line 431 of file PDBFile.cpp.
References llvm::consumeError(), getNumStreams(), and getPDBDbiStream().
bool PDBFile::hasPDBStringTable | ( | ) |
Definition at line 449 of file PDBFile.cpp.
References assert(), llvm::consumeError(), getNumStreams(), getPDBInfoStream(), llvm::pdb::no_stream, and llvm::Expected< T >::takeError().
bool PDBFile::hasPDBSymbolStream | ( | ) |
Definition at line 440 of file PDBFile.cpp.
References getNumStreams(), and getPDBDbiStream().
bool PDBFile::hasPDBTpiStream | ( | ) | const |
Definition at line 447 of file PDBFile.cpp.
References getNumStreams(), and llvm::pdb::StreamTPI.
Error PDBFile::parseFileHeaders | ( | ) |
Definition at line 120 of file PDBFile.cpp.
References llvm::msf::SuperBlock::BlockSize, llvm::codeview::Byte, llvm::BinaryStreamReader::bytesRemaining(), llvm::consumeError(), llvm::pdb::corrupt_file, llvm::msf::MSFLayout::DirectoryBlocks, llvm::codeview::EC, llvm::msf::MSFLayout::FreePageMap, getBlockCount(), getBlockMapOffset(), getNumDirectoryBlocks(), I, llvm::msf::SuperBlock::NumBlocks, llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readBytes(), llvm::BinaryStreamReader::readObject(), llvm::BitVector::resize(), llvm::msf::MSFLayout::SB, llvm::BinaryStreamReader::setOffset(), llvm::Error::success(), and llvm::msf::validateSuperBlock().
Error PDBFile::parseStreamData | ( | ) |
Definition at line 180 of file PDBFile.cpp.
References assert(), llvm::pdb::Block, llvm::msf::SuperBlock::BlockSize, llvm::BinaryStreamReader::bytesRemaining(), llvm::msf::bytesToBlocks(), llvm::pdb::corrupt_file, llvm::SIInstrFlags::DS, llvm::codeview::EC, getFileSize(), getStreamByteSize(), I, llvm::BinaryStreamReader::readArray(), llvm::BinaryStreamReader::readInteger(), llvm::msf::MSFLayout::SB, llvm::msf::MSFLayout::StreamMap, llvm::msf::MSFLayout::StreamSizes, and llvm::Error::success().
|
overridevirtual |
Implements llvm::msf::IMSFFile.
Definition at line 114 of file PDBFile.cpp.
References llvm::pdb::not_writable.