LLVM  3.7.0
IPDBSourceFile.cpp
Go to the documentation of this file.
1 //===- IPDBSourceFile.cpp - base interface for a PDB source file *- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
11 
13 #include "llvm/Support/Format.h"
15 
16 using namespace llvm;
17 
19 
20 void IPDBSourceFile::dump(raw_ostream &OS, int Indent) const {
21  OS.indent(Indent);
22  PDB_Checksum ChecksumType = getChecksumType();
23  OS << "[";
24  if (ChecksumType != PDB_Checksum::None) {
25  OS << ChecksumType << ": ";
26  std::string Checksum = getChecksum();
27  for (uint8_t c : Checksum)
28  OS << format_hex_no_prefix(c, 2, true);
29  } else
30  OS << "No checksum";
31  OS << "] " << getFileName() << "\n";
32 }
virtual std::string getFileName() const =0
raw_ostream & indent(unsigned NumSpaces)
indent - Insert 'NumSpaces' spaces.
virtual PDB_Checksum getChecksumType() const =0
PDB_Checksum
Specifies the hash algorithm that a source file from a PDB was hashed with.
Definition: PDBTypes.h:106
FormattedNumber format_hex_no_prefix(uint64_t N, unsigned Width, bool Upper=false)
format_hex_no_prefix - Output N as a fixed width hexadecimal.
Definition: Format.h:175
void dump(raw_ostream &OS, int Indent) const
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:38
virtual std::string getChecksum() const =0