1//===- DIAInjectedSource.h - DIA impl for IPDBInjectedSource ----*- 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_DIA_DIAINJECTEDSOURCE_H
10#define LLVM_DEBUGINFO_PDB_DIA_DIAINJECTEDSOURCE_H
11
12#include "DIASupport.h"
13#include "llvm/DebugInfo/PDB/IPDBInjectedSource.h"
14
15namespace llvm {
16namespace pdb {
17class DIASession;
18
19class DIAInjectedSource : public IPDBInjectedSource {
20public:
21 explicit DIAInjectedSource(CComPtr<IDiaInjectedSource> DiaSourceFile);
22
23 uint32_t getCrc32() const override;
24 uint64_t getCodeByteSize() const override;
25 std::string getFileName() const override;
26 std::string getObjectFileName() const override;
27 std::string getVirtualFileName() const override;
28 uint32_t getCompression() const override;
29 std::string getCode() const override;
30
31private:
32 CComPtr<IDiaInjectedSource> SourceFile;
33};
34} // namespace pdb
35} // namespace llvm
36
37#endif // LLVM_DEBUGINFO_PDB_DIA_DIAINJECTEDSOURCE_H
38

source code of llvm/include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h