1353952Sdim//===-- CallFrameInfo.h -----------------------------------------*- C++ -*-===//
2353952Sdim//
3353952Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353952Sdim// See https://llvm.org/LICENSE.txt for license information.
5353952Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6353952Sdim//
7353952Sdim//===----------------------------------------------------------------------===//
8353952Sdim
9353952Sdim#ifndef liblldb_CallFrameInfo_h_
10353952Sdim#define liblldb_CallFrameInfo_h_
11353952Sdim
12353952Sdim#include "lldb/Core/Address.h"
13353952Sdim
14353952Sdimnamespace lldb_private {
15353952Sdim
16353952Sdimclass CallFrameInfo {
17353952Sdimpublic:
18353952Sdim  virtual ~CallFrameInfo() = default;
19353952Sdim
20353952Sdim  virtual bool GetAddressRange(Address addr, AddressRange &range) = 0;
21353952Sdim
22353952Sdim  virtual bool GetUnwindPlan(const Address &addr, UnwindPlan &unwind_plan) = 0;
23353952Sdim  virtual bool GetUnwindPlan(const AddressRange &range, UnwindPlan &unwind_plan) = 0;
24353952Sdim};
25353952Sdim
26353952Sdim} // namespace lldb_private
27353952Sdim
28353952Sdim#endif // liblldb_CallFrameInfo_h_
29