35 lines · cpp
1//===- IPDBSourceFile.cpp - base interface for a PDB source file ----------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"10#include "llvm/DebugInfo/PDB/PDBExtras.h"11#include "llvm/DebugInfo/PDB/PDBTypes.h"12#include "llvm/Support/Format.h"13#include "llvm/Support/raw_ostream.h"14#include <cstdint>15#include <string>16 17using namespace llvm;18using namespace llvm::pdb;19 20IPDBSourceFile::~IPDBSourceFile() = default;21 22void IPDBSourceFile::dump(raw_ostream &OS, int Indent) const {23 OS.indent(Indent);24 PDB_Checksum ChecksumType = getChecksumType();25 OS << "[";26 if (ChecksumType != PDB_Checksum::None) {27 OS << ChecksumType << ": ";28 std::string Checksum = getChecksum();29 for (uint8_t c : Checksum)30 OS << format_hex_no_prefix(c, 2, true);31 } else32 OS << "No checksum";33 OS << "] " << getFileName() << "\n";34}35