LLVM 22.0.0git
SymbolStream.h
Go to the documentation of this file.
1//===- SymbolStream.cpp - PDB Symbol Stream 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_SYMBOLSTREAM_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_SYMBOLSTREAM_H
11
14
15#include "llvm/Support/Error.h"
16
17namespace llvm {
18namespace msf {
20}
21namespace pdb {
22
24public:
25 LLVM_ABI SymbolStream(std::unique_ptr<msf::MappedBlockStream> Stream);
28
30 return SymbolRecords;
31 }
32
34
36 getSymbols(bool *HadError) const;
37
39
40private:
41 codeview::CVSymbolArray SymbolRecords;
42 std::unique_ptr<msf::MappedBlockStream> Stream;
43};
44} // namespace pdb
45}
46
47#endif
#define LLVM_ABI
Definition Compiler.h:213
Lightweight error class with error context and mandatory checking.
Definition Error.h:159
A range adaptor for a pair of iterators.
MappedBlockStream represents data stored in an MSF file into chunks of a particular size (called the ...
LLVM_ABI SymbolStream(std::unique_ptr< msf::MappedBlockStream > Stream)
const codeview::CVSymbolArray & getSymbolArray() const
LLVM_ABI Error commit()
LLVM_ABI Error reload()
LLVM_ABI codeview::CVSymbol readRecord(uint32_t Offset) const
LLVM_ABI iterator_range< codeview::CVSymbolArray::Iterator > getSymbols(bool *HadError) const
VarStreamArray< CVSymbol > CVSymbolArray
Definition CVRecord.h:126
CVRecord< SymbolKind > CVSymbol
Definition CVRecord.h:65
This is an optimization pass for GlobalISel generic memory operations.