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 Andric void 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