LLVM 22.0.0git
InfoStream.h
Go to the documentation of this file.
1//===- InfoStream.h - PDB Info Stream (Stream 1) Access ---------*- 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_INFOSTREAM_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_INFOSTREAM_H
11
12#include "llvm/ADT/StringMap.h"
19
20#include "llvm/Support/Error.h"
21
22namespace llvm {
23namespace pdb {
24struct InfoStreamHeader;
26 friend class InfoStreamBuilder;
27
28public:
29 LLVM_ABI InfoStream(std::unique_ptr<BinaryStream> Stream);
30
32
34
35 const InfoStreamHeader *getHeader() const { return Header; }
36
37 LLVM_ABI bool containsIdStream() const;
40 LLVM_ABI uint32_t getAge() const;
43
46
48
50
53
54private:
55 std::unique_ptr<BinaryStream> Stream;
56
57 const InfoStreamHeader *Header;
58
59 BinarySubstreamRef SubNamedStreams;
60
61 std::vector<PdbRaw_FeatureSig> FeatureSignatures;
63
64 uint32_t NamedStreamMapByteSize = 0;
65
66 NamedStreamMap NamedStreams;
67};
68}
69}
70
71#endif
This file defines the StringMap class.
#define LLVM_ABI
Definition: Compiler.h:213
std::string Name
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition: ArrayRef.h:41
Lightweight error class with error context and mandatory checking.
Definition: Error.h:159
Tagged union holding either a T or a Error.
Definition: Error.h:485
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
Definition: StringMap.h:133
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:55
LLVM_ABI codeview::GUID getGuid() const
Definition: InfoStream.cpp:111
LLVM_ABI Expected< uint32_t > getNamedStreamIndex(llvm::StringRef Name) const
Definition: InfoStream.cpp:86
LLVM_ABI ArrayRef< PdbRaw_FeatureSig > getFeatureSignatures() const
Definition: InfoStream.cpp:119
LLVM_ABI Error reload()
Definition: InfoStream.cpp:23
LLVM_ABI uint32_t getStreamSize() const
Definition: InfoStream.cpp:84
LLVM_ABI const NamedStreamMap & getNamedStreams() const
Definition: InfoStream.cpp:123
const InfoStreamHeader * getHeader() const
Definition: InfoStream.h:35
LLVM_ABI PdbRaw_Features getFeatures() const
Definition: InfoStream.cpp:117
LLVM_ABI bool containsIdStream() const
Definition: InfoStream.cpp:97
LLVM_ABI uint32_t getAge() const
Definition: InfoStream.cpp:109
LLVM_ABI StringMap< uint32_t > named_streams() const
Definition: InfoStream.cpp:93
LLVM_ABI uint32_t getNamedStreamMapByteSize() const
Definition: InfoStream.cpp:113
LLVM_ABI PdbRaw_ImplVer getVersion() const
Definition: InfoStream.cpp:101
LLVM_ABI uint32_t getSignature() const
Definition: InfoStream.cpp:105
LLVM_ABI BinarySubstreamRef getNamedStreamsBuffer() const
Definition: InfoStream.cpp:127
@ PdbFeatureNone
Definition: RawConstants.h:44
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
This represents the 'GUID' type from windows.h.
Definition: GUID.h:22
The header preceding the global PDB Stream (Stream 1)
Definition: RawTypes.h:304