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