1//===-- SBExecutionContext.h -----------------------------------------*- C++
2//-*-===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLDB_API_SBEXECUTIONCONTEXT_H
11#define LLDB_API_SBEXECUTIONCONTEXT_H
12
13#include "lldb/API/SBDefines.h"
14
15#include <cstdio>
16#include <vector>
17
18namespace lldb_private {
19namespace python {
20class SWIGBridge;
21}
22} // namespace lldb_private
23
24namespace lldb {
25
26class LLDB_API SBExecutionContext {
27 friend class SBCommandInterpreter;
28
29public:
30 SBExecutionContext();
31
32 SBExecutionContext(const lldb::SBExecutionContext &rhs);
33
34 SBExecutionContext(const lldb::SBTarget &target);
35
36 SBExecutionContext(const lldb::SBProcess &process);
37
38 SBExecutionContext(lldb::SBThread thread); // can't be a const& because
39 // SBThread::get() isn't itself a
40 // const function
41
42 SBExecutionContext(const lldb::SBFrame &frame);
43
44 ~SBExecutionContext();
45
46 const SBExecutionContext &operator=(const lldb::SBExecutionContext &rhs);
47
48 SBTarget GetTarget() const;
49
50 SBProcess GetProcess() const;
51
52 SBThread GetThread() const;
53
54 SBFrame GetFrame() const;
55
56protected:
57 friend class lldb_private::python::SWIGBridge;
58
59 lldb_private::ExecutionContextRef *get() const;
60
61 SBExecutionContext(lldb::ExecutionContextRefSP exe_ctx_ref_sp);
62
63private:
64 mutable lldb::ExecutionContextRefSP m_exe_ctx_sp;
65};
66
67} // namespace lldb
68
69#endif // LLDB_API_SBEXECUTIONCONTEXT_H
70

source code of lldb/include/lldb/API/SBExecutionContext.h