LLVM  15.0.0git
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_NATIVE_PUBLICSSTREAM_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_PUBLICSSTREAM_H
11 
14 #include "llvm/Support/Error.h"
15 
16 namespace llvm {
17 namespace msf {
18 class MappedBlockStream;
19 }
20 namespace pdb {
21 struct PublicsStreamHeader;
22 struct SectionOffset;
23 
25 public:
26  PublicsStream(std::unique_ptr<msf::MappedBlockStream> Stream);
28  Error reload();
29 
30  uint32_t getSymHash() const;
33  const GSIHashTable &getPublicsTable() const { return PublicsTable; }
35  return AddressMap;
36  }
38  return ThunkMap;
39  }
41  return SectionOffsets;
42  }
43 
44 private:
45  std::unique_ptr<msf::MappedBlockStream> Stream;
46  GSIHashTable PublicsTable;
49  FixedStreamArray<SectionOffset> SectionOffsets;
50 
51  const PublicsStreamHeader *Header;
52 };
53 }
54 }
55 
56 #endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::pdb::PublicsStream
Definition: PublicsStream.h:24
llvm::pdb::PublicsStream::reload
Error reload()
Definition: PublicsStream.cpp:56
Error.h
llvm::FixedStreamArray< support::ulittle32_t >
llvm::pdb::PublicsStream::getThunkTableSection
uint16_t getThunkTableSection() const
Definition: PublicsStream.cpp:44
GlobalsStream.h
llvm::pdb::PublicsStream::getSectionOffsets
FixedStreamArray< SectionOffset > getSectionOffsets() const
Definition: PublicsStream.h:40
llvm::pdb::PublicsStream::getThunkMap
FixedStreamArray< support::ulittle32_t > getThunkMap() const
Definition: PublicsStream.h:37
llvm::pdb::PublicsStream::PublicsStream
PublicsStream(std::unique_ptr< msf::MappedBlockStream > Stream)
Definition: PublicsStream.cpp:38
BinaryStreamArray.h
uint32_t
llvm::pdb::GSIHashTable
A readonly view of a hash table used in the globals and publics streams.
Definition: GlobalsStream.h:50
llvm::pdb::PublicsStream::getAddressMap
FixedStreamArray< support::ulittle32_t > getAddressMap() const
Definition: PublicsStream.h:34
uint16_t
llvm::pdb::PublicsStream::getThunkTableOffset
uint32_t getThunkTableOffset() const
Definition: PublicsStream.cpp:47
llvm::Error
Lightweight error class with error context and mandatory checking.
Definition: Error.h:155
llvm::pdb::PublicsStream::~PublicsStream
~PublicsStream()
llvm::pdb::PublicsStream::getPublicsTable
const GSIHashTable & getPublicsTable() const
Definition: PublicsStream.h:33
llvm::pdb::PublicsStreamHeader
Definition: RawTypes.h:264
llvm::pdb::PublicsStream::getSymHash
uint32_t getSymHash() const
Definition: PublicsStream.cpp:43