1570e39a2SEugene Zelenko //===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===// 2a5549178SZachary Turner // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6a5549178SZachary Turner // 7a5549178SZachary Turner //===----------------------------------------------------------------------===// 8a5549178SZachary Turner 9a5549178SZachary Turner #include "llvm/DebugInfo/PDB/IPDBSourceFile.h" 10a5549178SZachary Turner #include "llvm/DebugInfo/PDB/PDBExtras.h" 11570e39a2SEugene Zelenko #include "llvm/DebugInfo/PDB/PDBTypes.h" 12a5549178SZachary Turner #include "llvm/Support/Format.h" 13a5549178SZachary Turner #include "llvm/Support/raw_ostream.h" 14570e39a2SEugene Zelenko #include <cstdint> 15570e39a2SEugene Zelenko #include <string> 16a5549178SZachary Turner 17a5549178SZachary Turner using namespace llvm; 18ec28fc34SZachary Turner using namespace llvm::pdb; 19a5549178SZachary Turner 20570e39a2SEugene Zelenko IPDBSourceFile::~IPDBSourceFile() = default; 21a5549178SZachary Turner dump(raw_ostream & OS,int Indent) const22bc42da03SZachary Turnervoid IPDBSourceFile::dump(raw_ostream &OS, int Indent) const { 23a5549178SZachary Turner OS.indent(Indent); 24a5549178SZachary Turner PDB_Checksum ChecksumType = getChecksumType(); 25a5549178SZachary Turner OS << "["; 26a5549178SZachary Turner if (ChecksumType != PDB_Checksum::None) { 27a5549178SZachary Turner OS << ChecksumType << ": "; 28a5549178SZachary Turner std::string Checksum = getChecksum(); 29a5549178SZachary Turner for (uint8_t c : Checksum) 30a5549178SZachary Turner OS << format_hex_no_prefix(c, 2, true); 31a5549178SZachary Turner } else 32a5549178SZachary Turner OS << "No checksum"; 33a5549178SZachary Turner OS << "] " << getFileName() << "\n"; 34a5549178SZachary Turner } 35