Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/SymbolStream.cpp
35293 views
//===- SymbolStream.cpp - PDB Symbol Stream Access ------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "llvm/DebugInfo/PDB/Native/SymbolStream.h"910#include "llvm/DebugInfo/MSF/MappedBlockStream.h"1112using namespace llvm;13using namespace llvm::msf;14using namespace llvm::support;15using namespace llvm::pdb;1617SymbolStream::SymbolStream(std::unique_ptr<MappedBlockStream> Stream)18: Stream(std::move(Stream)) {}1920SymbolStream::~SymbolStream() = default;2122Error SymbolStream::reload() {23BinaryStreamReader Reader(*Stream);2425if (auto EC = Reader.readArray(SymbolRecords, Stream->getLength()))26return EC;2728return Error::success();29}3031iterator_range<codeview::CVSymbolArray::Iterator>32SymbolStream::getSymbols(bool *HadError) const {33return llvm::make_range(SymbolRecords.begin(HadError), SymbolRecords.end());34}3536Error SymbolStream::commit() { return Error::success(); }3738codeview::CVSymbol SymbolStream::readRecord(uint32_t Offset) const {39return *SymbolRecords.at(Offset);40}414243