1*d88c1a5aSDimitry Andric //===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===// 2ff0cc061SDimitry Andric // 3ff0cc061SDimitry Andric // The LLVM Compiler Infrastructure 4ff0cc061SDimitry Andric // 5ff0cc061SDimitry Andric // This file is distributed under the University of Illinois Open Source 6ff0cc061SDimitry Andric // License. See LICENSE.TXT for details. 7ff0cc061SDimitry Andric // 8ff0cc061SDimitry Andric //===----------------------------------------------------------------------===// 9ff0cc061SDimitry Andric 10ff0cc061SDimitry Andric #include "llvm/DebugInfo/PDB/IPDBSourceFile.h" 11ff0cc061SDimitry Andric #include "llvm/DebugInfo/PDB/PDBExtras.h" 12*d88c1a5aSDimitry Andric #include "llvm/DebugInfo/PDB/PDBTypes.h" 13ff0cc061SDimitry Andric #include "llvm/Support/Format.h" 14ff0cc061SDimitry Andric #include "llvm/Support/raw_ostream.h" 15*d88c1a5aSDimitry Andric #include <cstdint> 16*d88c1a5aSDimitry Andric #include <string> 17ff0cc061SDimitry Andric 18ff0cc061SDimitry Andric using namespace llvm; 193ca95b02SDimitry Andric using namespace llvm::pdb; 20ff0cc061SDimitry Andric 21*d88c1a5aSDimitry Andric IPDBSourceFile::~IPDBSourceFile() = default; 22ff0cc061SDimitry Andric dump(raw_ostream & OS,int Indent) const23ff0cc061SDimitry Andricvoid IPDBSourceFile::dump(raw_ostream &OS, int Indent) const { 24ff0cc061SDimitry Andric OS.indent(Indent); 25ff0cc061SDimitry Andric PDB_Checksum ChecksumType = getChecksumType(); 26ff0cc061SDimitry Andric OS << "["; 27ff0cc061SDimitry Andric if (ChecksumType != PDB_Checksum::None) { 28ff0cc061SDimitry Andric OS << ChecksumType << ": "; 29ff0cc061SDimitry Andric std::string Checksum = getChecksum(); 30ff0cc061SDimitry Andric for (uint8_t c : Checksum) 31ff0cc061SDimitry Andric OS << format_hex_no_prefix(c, 2, true); 32ff0cc061SDimitry Andric } else 33ff0cc061SDimitry Andric OS << "No checksum"; 34ff0cc061SDimitry Andric OS << "] " << getFileName() << "\n"; 35ff0cc061SDimitry Andric } 36