LLVM  8.0.1
PublicsStream.h
Go to the documentation of this file.
1 //===- PublicsStream.h - PDB Public Symbol Stream -------- ------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_DEBUGINFO_PDB_RAW_PUBLICSSTREAM_H
11 #define LLVM_DEBUGINFO_PDB_RAW_PUBLICSSTREAM_H
12 
20 #include "llvm/Support/Error.h"
21 
22 namespace llvm {
23 namespace pdb {
24 class DbiStream;
25 struct GSIHashHeader;
26 class PDBFile;
27 
29 public:
30  PublicsStream(std::unique_ptr<msf::MappedBlockStream> Stream);
32  Error reload();
33 
34  uint32_t getSymHash() const;
35  uint16_t getThunkTableSection() const;
37  const GSIHashTable &getPublicsTable() const { return PublicsTable; }
39  return AddressMap;
40  }
42  return ThunkMap;
43  }
45  return SectionOffsets;
46  }
47 
48 private:
49  std::unique_ptr<msf::MappedBlockStream> Stream;
50  GSIHashTable PublicsTable;
53  FixedStreamArray<SectionOffset> SectionOffsets;
54 
55  const PublicsStreamHeader *Header;
56 };
57 }
58 }
59 
60 #endif
uint32_t getThunkTableOffset() const
A readonly view of a hash table used in the globals and publics streams.
Definition: GlobalsStream.h:51
This class represents lattice values for constants.
Definition: AllocatorList.h:24
FixedStreamArray< support::ulittle32_t > getAddressMap() const
Definition: PublicsStream.h:38
uint16_t getThunkTableSection() const
FixedStreamArray< SectionOffset > getSectionOffsets() const
Definition: PublicsStream.h:44
uint32_t getSymHash() const
PublicsStream(std::unique_ptr< msf::MappedBlockStream > Stream)
FixedStreamArray< support::ulittle32_t > getThunkMap() const
Definition: PublicsStream.h:41
Lightweight error class with error context and mandatory checking.
Definition: Error.h:158
const GSIHashTable & getPublicsTable() const
Definition: PublicsStream.h:37