1//===-- SWIG Interface for SBExecutionContext ---------------------*- 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
9namespace lldb {
10
11class SBExecutionContext
12{
13public:
14    SBExecutionContext();
15
16    SBExecutionContext (const lldb::SBExecutionContext &rhs);
17
18    SBExecutionContext (const lldb::SBTarget &target);
19
20    SBExecutionContext (const lldb::SBProcess &process);
21
22    SBExecutionContext (lldb::SBThread thread); // can't be a const& because SBThread::get() isn't itself a const function
23
24    SBExecutionContext (const lldb::SBFrame &frame);
25
26    ~SBExecutionContext();
27
28    SBTarget
29    GetTarget () const;
30
31    SBProcess
32    GetProcess () const;
33
34    SBThread
35    GetThread () const;
36
37    SBFrame
38    GetFrame () const;
39
40#ifdef SWIGPYTHON
41    %pythoncode %{
42        target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''')
43        process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''')
44        thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''')
45        frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''')
46    %}
47#endif
48
49};
50
51} // namespace lldb
52