1 //===- DIAFrameData.h - DIA Impl. of IPDBFrameData ---------------- 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_DIAFRAMEDATA_H
10 #define LLVM_DEBUGINFO_PDB_DIA_DIAFRAMEDATA_H
11 
12 #include "DIASupport.h"
13 #include "llvm/DebugInfo/PDB/IPDBFrameData.h"
14 
15 namespace llvm {
16 namespace pdb {
17 
18 class DIASession;
19 
20 class DIAFrameData : public IPDBFrameData {
21 public:
22   explicit DIAFrameData(CComPtr<IDiaFrameData> DiaFrameData);
23 
24   uint32_t getAddressOffset() const override;
25   uint32_t getAddressSection() const override;
26   uint32_t getLengthBlock() const override;
27   std::string getProgram() const override;
28   uint32_t getRelativeVirtualAddress() const override;
29   uint64_t getVirtualAddress() const override;
30 
31 private:
32   CComPtr<IDiaFrameData> FrameData;
33 };
34 
35 } // namespace pdb
36 } // namespace llvm
37 
38 #endif
39