1a5549178SZachary Turner //===- IPDBSourceFile.cpp - base interface for a PDB source file *- C++ -*-===//
2a5549178SZachary Turner //
3a5549178SZachary Turner //                     The LLVM Compiler Infrastructure
4a5549178SZachary Turner //
5a5549178SZachary Turner // This file is distributed under the University of Illinois Open Source
6a5549178SZachary Turner // License. See LICENSE.TXT for details.
7a5549178SZachary Turner //
8a5549178SZachary Turner //===----------------------------------------------------------------------===//
9a5549178SZachary Turner 
10a5549178SZachary Turner #include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
11*52c9f881SZachary Turner 
12a5549178SZachary Turner #include "llvm/DebugInfo/PDB/PDBExtras.h"
13a5549178SZachary Turner #include "llvm/Support/Format.h"
14a5549178SZachary Turner #include "llvm/Support/raw_ostream.h"
15a5549178SZachary Turner 
16a5549178SZachary Turner using namespace llvm;
17a5549178SZachary Turner 
18a5549178SZachary Turner IPDBSourceFile::~IPDBSourceFile() {}
19a5549178SZachary Turner 
20a5549178SZachary Turner void IPDBSourceFile::dump(raw_ostream &OS, int Indent,
21a5549178SZachary Turner                           PDB_DumpLevel Level) const {
22a5549178SZachary Turner   if (Level == PDB_DumpLevel::Compact) {
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   }
35a5549178SZachary Turner }
36