LLVM  9.0.0svn
PublicsStream.h
Go to the documentation of this file.
1 //===- PublicsStream.h - PDB Public Symbol Stream -------- ------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_DEBUGINFO_PDB_RAW_PUBLICSSTREAM_H
10 #define LLVM_DEBUGINFO_PDB_RAW_PUBLICSSTREAM_H
11 
19 #include "llvm/Support/Error.h"
20 
21 namespace llvm {
22 namespace pdb {
23 class DbiStream;
24 struct GSIHashHeader;
25 class PDBFile;
26 
28 public:
29  PublicsStream(std::unique_ptr<msf::MappedBlockStream> Stream);
31  Error reload();
32 
33  uint32_t getSymHash() const;
34  uint16_t getThunkTableSection() const;
36  const GSIHashTable &getPublicsTable() const { return PublicsTable; }
38  return AddressMap;
39  }
41  return ThunkMap;
42  }
44  return SectionOffsets;
45  }
46 
47 private:
48  std::unique_ptr<msf::MappedBlockStream> Stream;
49  GSIHashTable PublicsTable;
52  FixedStreamArray<SectionOffset> SectionOffsets;
53 
54  const PublicsStreamHeader *Header;
55 };
56 }
57 }
58 
59 #endif
uint32_t getThunkTableOffset() const
A readonly view of a hash table used in the globals and publics streams.
Definition: GlobalsStream.h:50
This class represents lattice values for constants.
Definition: AllocatorList.h:23
FixedStreamArray< support::ulittle32_t > getAddressMap() const
Definition: PublicsStream.h:37
uint16_t getThunkTableSection() const
FixedStreamArray< SectionOffset > getSectionOffsets() const
Definition: PublicsStream.h:43
uint32_t getSymHash() const
PublicsStream(std::unique_ptr< msf::MappedBlockStream > Stream)
FixedStreamArray< support::ulittle32_t > getThunkMap() const
Definition: PublicsStream.h:40
Lightweight error class with error context and mandatory checking.
Definition: Error.h:157
const GSIHashTable & getPublicsTable() const
Definition: PublicsStream.h:36