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.