Lines Matching defs:PDBFile
1 //===- PDBFile.cpp - Low level interface to a PDB file ----------*- C++ -*-===//
9 #include "llvm/DebugInfo/PDB/Native/PDBFile.h"
41 PDBFile::PDBFile(StringRef Path, std::unique_ptr<BinaryStream> PdbFileBuffer,
46 PDBFile::~PDBFile() = default;
48 StringRef PDBFile::getFilePath() const { return FilePath; }
50 StringRef PDBFile::getFileDirectory() const {
54 uint32_t PDBFile::getBlockSize() const { return ContainerLayout.SB->BlockSize; }
56 uint32_t PDBFile::getFreeBlockMapBlock() const {
60 uint32_t PDBFile::getBlockCount() const {
64 uint32_t PDBFile::getNumDirectoryBytes() const {
68 uint32_t PDBFile::getBlockMapIndex() const {
72 uint32_t PDBFile::getUnknown1() const { return ContainerLayout.SB->Unknown1; }
74 uint32_t PDBFile::getNumDirectoryBlocks() const {
79 uint64_t PDBFile::getBlockMapOffset() const {
84 uint32_t PDBFile::getNumStreams() const {
88 uint32_t PDBFile::getMaxStreamSize() const {
92 uint32_t PDBFile::getStreamByteSize(uint32_t StreamIndex) const {
97 PDBFile::getStreamBlockList(uint32_t StreamIndex) const {
101 uint64_t PDBFile::getFileSize() const { return Buffer->getLength(); }
103 Expected<ArrayRef<uint8_t>> PDBFile::getBlockData(uint32_t BlockIndex,
113 Error PDBFile::setBlockData(uint32_t BlockIndex, uint32_t Offset,
116 "PDBFile is immutable");
119 Error PDBFile::parseFileHeaders() {
179 Error PDBFile::parseStreamData() {
232 ArrayRef<support::ulittle32_t> PDBFile::getDirectoryBlockArray() const {
237 PDBFile::createIndexedStream(uint16_t SN) const {
244 MSFStreamLayout PDBFile::getStreamLayout(uint32_t StreamIdx) const {
252 msf::MSFStreamLayout PDBFile::getFpmStreamLayout() const {
256 Expected<GlobalsStream &> PDBFile::getPDBGlobalsStream() {
274 Expected<InfoStream &> PDBFile::getPDBInfoStream() {
287 Expected<DbiStream &> PDBFile::getPDBDbiStream() {
300 Expected<TpiStream &> PDBFile::getPDBTpiStream() {
313 Expected<TpiStream &> PDBFile::getPDBIpiStream() {
329 Expected<PublicsStream &> PDBFile::getPDBPublicsStream() {
347 Expected<SymbolStream &> PDBFile::getPDBSymbolStream() {
366 Expected<PDBStringTable &> PDBFile::getStringTable() {
383 Expected<InjectedSourceStream &> PDBFile::getInjectedSourceStream() {
401 uint32_t PDBFile::getPointerSize() {
411 bool PDBFile::hasPDBDbiStream() const {
415 bool PDBFile::hasPDBGlobalsStream() {
425 bool PDBFile::hasPDBInfoStream() const { return StreamPDB < getNumStreams(); }
427 bool PDBFile::hasPDBIpiStream() const {
434 auto &InfoStream = cantFail(const_cast<PDBFile *>(this)->getPDBInfoStream());
438 bool PDBFile::hasPDBPublicsStream() {
447 bool PDBFile::hasPDBSymbolStream() {
454 bool PDBFile::hasPDBTpiStream() const { return StreamTPI < getNumStreams(); }
456 bool PDBFile::hasPDBStringTable() {
469 bool PDBFile::hasPDBInjectedSourceStream() {
487 PDBFile::safelyCreateIndexedStream(uint32_t StreamIndex) const {
495 PDBFile::safelyCreateNamedStream(StringRef Name) {