10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PDBFILE_H 11 #define LLVM_DEBUGINFO_PDB_RAW_PDBFILE_H 29 class MappedBlockStream;
53 uint32_t getFreeBlockMapBlock()
const;
56 uint32_t getBlockSize()
const override;
57 uint32_t getBlockCount()
const override;
58 uint32_t getNumDirectoryBytes()
const;
60 uint32_t getNumDirectoryBlocks()
const;
61 uint64_t getBlockMapOffset()
const;
63 uint32_t getNumStreams()
const override;
67 getStreamBlockList(
uint32_t StreamIndex)
const override;
76 return ContainerLayout.StreamSizes;
79 return ContainerLayout.StreamMap;
87 std::unique_ptr<msf::MappedBlockStream> createIndexedStream(uint16_t SN);
92 Error parseFileHeaders();
93 Error parseStreamData();
106 bool hasPDBDbiStream()
const;
107 bool hasPDBGlobalsStream();
108 bool hasPDBInfoStream()
const;
109 bool hasPDBIpiStream()
const;
110 bool hasPDBPublicsStream();
111 bool hasPDBSymbolStream();
112 bool hasPDBTpiStream()
const;
113 bool hasPDBStringTable();
123 std::string FilePath;
126 std::unique_ptr<BinaryStream> Buffer;
130 std::unique_ptr<GlobalsStream> Globals;
131 std::unique_ptr<InfoStream>
Info;
132 std::unique_ptr<DbiStream> Dbi;
133 std::unique_ptr<TpiStream> Tpi;
134 std::unique_ptr<TpiStream> Ipi;
135 std::unique_ptr<PublicsStream> Publics;
136 std::unique_ptr<SymbolStream> Symbols;
137 std::unique_ptr<msf::MappedBlockStream> DirectoryStream;
138 std::unique_ptr<msf::MappedBlockStream> StringTableStream;
139 std::unique_ptr<PDBStringTable> Strings;
This class represents lattice values for constants.
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
Describes the layout of a stream in an MSF layout.
MSFStreamLayout getFpmStreamLayout(const MSFLayout &Msf, bool IncludeUnusedFpmData=false, bool AltFpm=false)
Determine the layout of the FPM stream, given the MSF layout.
Tagged union holding either a T or a Error.
static uint64_t getPointerSize(const Value *V, const DataLayout &DL, const TargetLibraryInfo &TLI, const Function *F)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
BinaryStreamRef getMsfBuffer() const
Analysis containing CSE Info
BumpPtrAllocator & getAllocator()
Allocate memory in an ever growing pool, as if by bump-pointer.
ArrayRef< support::ulittle32_t > getStreamSizes() const
BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.
ArrayRef< ArrayRef< support::ulittle32_t > > getStreamMap() const
const msf::MSFLayout & getMsfLayout() const
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.