xref: /llvm-project/llvm/lib/DebugInfo/PDB/IPDBSourceFile.cpp (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
1570e39a2SEugene Zelenko //===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===//
2a5549178SZachary Turner //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6a5549178SZachary Turner //
7a5549178SZachary Turner //===----------------------------------------------------------------------===//
8a5549178SZachary Turner 
9a5549178SZachary Turner #include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
10a5549178SZachary Turner #include "llvm/DebugInfo/PDB/PDBExtras.h"
11570e39a2SEugene Zelenko #include "llvm/DebugInfo/PDB/PDBTypes.h"
12a5549178SZachary Turner #include "llvm/Support/Format.h"
13a5549178SZachary Turner #include "llvm/Support/raw_ostream.h"
14570e39a2SEugene Zelenko #include <cstdint>
15570e39a2SEugene Zelenko #include <string>
16a5549178SZachary Turner 
17a5549178SZachary Turner using namespace llvm;
18ec28fc34SZachary Turner using namespace llvm::pdb;
19a5549178SZachary Turner 
20570e39a2SEugene Zelenko IPDBSourceFile::~IPDBSourceFile() = default;
21a5549178SZachary Turner 
dump(raw_ostream & OS,int Indent) const22bc42da03SZachary Turner void IPDBSourceFile::dump(raw_ostream &OS, int Indent) const {
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 }
35