1 //===- IPDBSourceFile.h - base interface for a PDB source file --*- C++ -*-===//
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-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_DEBUGINFO_PDB_IPDBSOURCEFILE_H
10 #define LLVM_DEBUGINFO_PDB_IPDBSOURCEFILE_H
21 /// IPDBSourceFile defines an interface used to represent source files whose
22 /// information are stored in the PDB.
23 class IPDBSourceFile
{
25 virtual ~IPDBSourceFile();
27 void dump(raw_ostream
&OS
, int Indent
) const;
29 virtual std::string
getFileName() const = 0;
30 virtual uint32_t getUniqueId() const = 0;
31 virtual std::string
getChecksum() const = 0;
32 virtual PDB_Checksum
getChecksumType() const = 0;
33 virtual std::unique_ptr
<IPDBEnumChildren
<PDBSymbolCompiland
>>
34 getCompilands() const = 0;