xref: /src/contrib/llvm-project/llvm/lib/DebugInfo/PDB/IPDBSourceFile.cpp (revision 0b57cec536236d46e3dba9bd041533462f33dbb7)
1b915e9e0SDimitry Andric //===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===//
25a5ac124SDimitry Andric //
3e6d15924SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4e6d15924SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5e6d15924SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
65a5ac124SDimitry Andric //
75a5ac124SDimitry Andric //===----------------------------------------------------------------------===//
85a5ac124SDimitry Andric 
95a5ac124SDimitry Andric #include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
105a5ac124SDimitry Andric #include "llvm/DebugInfo/PDB/PDBExtras.h"
11b915e9e0SDimitry Andric #include "llvm/DebugInfo/PDB/PDBTypes.h"
125a5ac124SDimitry Andric #include "llvm/Support/Format.h"
135a5ac124SDimitry Andric #include "llvm/Support/raw_ostream.h"
14b915e9e0SDimitry Andric #include <cstdint>
15b915e9e0SDimitry Andric #include <string>
165a5ac124SDimitry Andric 
175a5ac124SDimitry Andric using namespace llvm;
1801095a5dSDimitry Andric using namespace llvm::pdb;
195a5ac124SDimitry Andric 
20b915e9e0SDimitry Andric IPDBSourceFile::~IPDBSourceFile() = default;
215a5ac124SDimitry Andric 
dump(raw_ostream & OS,int Indent) const225a5ac124SDimitry Andric void IPDBSourceFile::dump(raw_ostream &OS, int Indent) const {
235a5ac124SDimitry Andric   OS.indent(Indent);
245a5ac124SDimitry Andric   PDB_Checksum ChecksumType = getChecksumType();
255a5ac124SDimitry Andric   OS << "[";
265a5ac124SDimitry Andric   if (ChecksumType != PDB_Checksum::None) {
275a5ac124SDimitry Andric     OS << ChecksumType << ": ";
285a5ac124SDimitry Andric     std::string Checksum = getChecksum();
295a5ac124SDimitry Andric     for (uint8_t c : Checksum)
305a5ac124SDimitry Andric       OS << format_hex_no_prefix(c, 2, true);
315a5ac124SDimitry Andric   } else
325a5ac124SDimitry Andric     OS << "No checksum";
335a5ac124SDimitry Andric   OS << "] " << getFileName() << "\n";
345a5ac124SDimitry Andric }
35