10b57cec5SDimitry Andric //===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===// 20b57cec5SDimitry Andric // 30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric // 70b57cec5SDimitry Andric //===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric 90b57cec5SDimitry Andric #include "llvm/DebugInfo/PDB/IPDBSourceFile.h" 100b57cec5SDimitry Andric #include "llvm/DebugInfo/PDB/PDBExtras.h" 110b57cec5SDimitry Andric #include "llvm/DebugInfo/PDB/PDBTypes.h" 120b57cec5SDimitry Andric #include "llvm/Support/Format.h" 130b57cec5SDimitry Andric #include "llvm/Support/raw_ostream.h" 140b57cec5SDimitry Andric #include <cstdint> 150b57cec5SDimitry Andric #include <string> 160b57cec5SDimitry Andric 170b57cec5SDimitry Andric using namespace llvm; 180b57cec5SDimitry Andric using namespace llvm::pdb; 190b57cec5SDimitry Andric 200b57cec5SDimitry Andric IPDBSourceFile::~IPDBSourceFile() = default; 210b57cec5SDimitry Andric dump(raw_ostream & OS,int Indent) const220b57cec5SDimitry Andricvoid IPDBSourceFile::dump(raw_ostream &OS, int Indent) const { 230b57cec5SDimitry Andric OS.indent(Indent); 240b57cec5SDimitry Andric PDB_Checksum ChecksumType = getChecksumType(); 250b57cec5SDimitry Andric OS << "["; 260b57cec5SDimitry Andric if (ChecksumType != PDB_Checksum::None) { 270b57cec5SDimitry Andric OS << ChecksumType << ": "; 280b57cec5SDimitry Andric std::string Checksum = getChecksum(); 290b57cec5SDimitry Andric for (uint8_t c : Checksum) 300b57cec5SDimitry Andric OS << format_hex_no_prefix(c, 2, true); 310b57cec5SDimitry Andric } else 320b57cec5SDimitry Andric OS << "No checksum"; 330b57cec5SDimitry Andric OS << "] " << getFileName() << "\n"; 340b57cec5SDimitry Andric } 35