Home | History | Annotate | Line # | Download | only in PDB
      1 //===- IPDBFrameData.h - base interface for frame data ----------*- 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_IPDBFRAMEDATA_H
     10 #define LLVM_DEBUGINFO_PDB_IPDBFRAMEDATA_H
     11 
     12 #include <cstdint>
     13 #include <string>
     14 
     15 namespace llvm {
     16 namespace pdb {
     17 
     18 /// IPDBFrameData defines an interface used to represent a frame data of some
     19 /// code block.
     20 class IPDBFrameData {
     21 public:
     22   virtual ~IPDBFrameData();
     23 
     24   virtual uint32_t getAddressOffset() const = 0;
     25   virtual uint32_t getAddressSection() const = 0;
     26   virtual uint32_t getLengthBlock() const = 0;
     27   virtual std::string getProgram() const = 0;
     28   virtual uint32_t getRelativeVirtualAddress() const = 0;
     29   virtual uint64_t getVirtualAddress() const = 0;
     30 };
     31 
     32 } // namespace pdb
     33 } // namespace llvm
     34 
     35 #endif
     36