LLVM: lib/DebugInfo/PDB/Native/SymbolStream.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
10
12
13using namespace llvm;
17
20
22
25
26 if (auto EC = Reader.readArray(SymbolRecords, Stream->getLength()))
27 return EC;
28
30}
31
34 return llvm::make_range(SymbolRecords.begin(HadError), SymbolRecords.end());
35}
36
38
40 return *SymbolRecords.at(Offset);
41}
Provides read only access to a subclass of BinaryStream.
Error readArray(ArrayRef< T > &Array, uint32_t NumElements)
Get a reference to a NumElements element array of objects of type T from the underlying stream as if ...
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
A range adaptor for a pair of iterators.
LLVM_ABI SymbolStream(std::unique_ptr< msf::MappedBlockStream > Stream)
Definition SymbolStream.cpp:18
LLVM_ABI Error commit()
Definition SymbolStream.cpp:37
LLVM_ABI Error reload()
Definition SymbolStream.cpp:23
LLVM_ABI codeview::CVSymbol readRecord(uint32_t Offset) const
Definition SymbolStream.cpp:39
LLVM_ABI iterator_range< codeview::CVSymbolArray::Iterator > getSymbols(bool *HadError) const
Definition SymbolStream.cpp:33
CVRecord< SymbolKind > CVSymbol
This is an optimization pass for GlobalISel generic memory operations.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.