Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- NativeSourceFile.h - Native source file implementation ---*- C++ -*-===//
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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
 
9
#ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVESOURCEFILE_H
10
#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVESOURCEFILE_H
11
 
12
#include "llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h"
13
#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
14
#include "llvm/DebugInfo/PDB/PDBTypes.h"
15
 
16
namespace llvm {
17
namespace pdb {
18
class PDBSymbolCompiland;
19
template <typename ChildType> class IPDBEnumChildren;
20
class NativeSession;
21
 
22
class NativeSourceFile : public IPDBSourceFile {
23
public:
24
  explicit NativeSourceFile(NativeSession &Session, uint32_t FileId,
25
                            const codeview::FileChecksumEntry &Checksum);
26
 
27
  std::string getFileName() const override;
28
  uint32_t getUniqueId() const override;
29
  std::string getChecksum() const override;
30
  PDB_Checksum getChecksumType() const override;
31
  std::unique_ptr<IPDBEnumChildren<PDBSymbolCompiland>>
32
  getCompilands() const override;
33
 
34
private:
35
  NativeSession &Session;
36
  uint32_t FileId;
37
  const codeview::FileChecksumEntry Checksum;
38
};
39
} // namespace pdb
40
} // namespace llvm
41
#endif