diff options
Diffstat (limited to 'include/llvm/DebugInfo/PDB/Native/PDBFile.h')
-rw-r--r-- | include/llvm/DebugInfo/PDB/Native/PDBFile.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/include/llvm/DebugInfo/PDB/Native/PDBFile.h b/include/llvm/DebugInfo/PDB/Native/PDBFile.h index 5e39ac3e37b7..56de4030167d 100644 --- a/include/llvm/DebugInfo/PDB/Native/PDBFile.h +++ b/include/llvm/DebugInfo/PDB/Native/PDBFile.h @@ -1,9 +1,8 @@ //===- PDBFile.h - Low level interface to a PDB file ------------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// @@ -33,6 +32,7 @@ namespace pdb { class DbiStream; class GlobalsStream; class InfoStream; +class InjectedSourceStream; class PDBStringTable; class PDBFileBuilder; class PublicsStream; @@ -84,7 +84,12 @@ public: ArrayRef<support::ulittle32_t> getDirectoryBlockArray() const; - std::unique_ptr<msf::MappedBlockStream> createIndexedStream(uint16_t SN); + std::unique_ptr<msf::MappedBlockStream> + createIndexedStream(uint16_t SN) const; + Expected<std::unique_ptr<msf::MappedBlockStream>> + safelyCreateIndexedStream(uint32_t StreamIndex) const; + Expected<std::unique_ptr<msf::MappedBlockStream>> + safelyCreateNamedStream(StringRef Name); msf::MSFStreamLayout getStreamLayout(uint32_t StreamIdx) const; msf::MSFStreamLayout getFpmStreamLayout() const; @@ -100,6 +105,7 @@ public: Expected<PublicsStream &> getPDBPublicsStream(); Expected<SymbolStream &> getPDBSymbolStream(); Expected<PDBStringTable &> getStringTable(); + Expected<InjectedSourceStream &> getInjectedSourceStream(); BumpPtrAllocator &getAllocator() { return Allocator; } @@ -111,15 +117,11 @@ public: bool hasPDBSymbolStream(); bool hasPDBTpiStream() const; bool hasPDBStringTable(); + bool hasPDBInjectedSourceStream(); uint32_t getPointerSize(); private: - Expected<std::unique_ptr<msf::MappedBlockStream>> - safelyCreateIndexedStream(const msf::MSFLayout &Layout, - BinaryStreamRef MsfData, - uint32_t StreamIndex) const; - std::string FilePath; BumpPtrAllocator &Allocator; @@ -136,6 +138,7 @@ private: std::unique_ptr<SymbolStream> Symbols; std::unique_ptr<msf::MappedBlockStream> DirectoryStream; std::unique_ptr<msf::MappedBlockStream> StringTableStream; + std::unique_ptr<InjectedSourceStream> InjectedSources; std::unique_ptr<PDBStringTable> Strings; }; } |