//===- GlobalsStream.cpp - PDB Index of Symbols by Name ---- ----*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "llvm/DebugInfo/PDB/Native/GlobalsStream.h" #include "GSI.h" #include "llvm/Support/BinaryStreamReader.h" #include "llvm/Support/Error.h" #include using namespace llvm; using namespace llvm::msf; using namespace llvm::pdb; GlobalsStream::GlobalsStream(std::unique_ptr Stream) : Stream(std::move(Stream)) {} GlobalsStream::~GlobalsStream() = default; Error GlobalsStream::reload() { BinaryStreamReader Reader(*Stream); const GSIHashHeader *HashHdr; if (auto EC = readGSIHashHeader(HashHdr, Reader)) return EC; if (auto EC = readGSIHashRecords(HashRecords, HashHdr, Reader)) return EC; if (auto EC = readGSIHashBuckets(HashBuckets, HashHdr, Reader)) return EC; NumBuckets = HashBuckets.size(); return Error::success(); } Error GlobalsStream::commit() { return Error::success(); }