1359575Sdim//===-- SWIG Interface for SBExecutionContext ---------------------*- C++ -*-===//
2359575Sdim//
3359575Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4359575Sdim// See https://llvm.org/LICENSE.txt for license information.
5359575Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6359575Sdim//
7359575Sdim//===----------------------------------------------------------------------===//
8359575Sdim
9359575Sdimnamespace lldb {
10359575Sdim
11359575Sdimclass SBExecutionContext
12359575Sdim{
13359575Sdimpublic:
14359575Sdim    SBExecutionContext();
15359575Sdim
16359575Sdim    SBExecutionContext (const lldb::SBExecutionContext &rhs);
17359575Sdim
18359575Sdim    SBExecutionContext (const lldb::SBTarget &target);
19359575Sdim
20359575Sdim    SBExecutionContext (const lldb::SBProcess &process);
21359575Sdim
22359575Sdim    SBExecutionContext (lldb::SBThread thread); // can't be a const& because SBThread::get() isn't itself a const function
23359575Sdim
24359575Sdim    SBExecutionContext (const lldb::SBFrame &frame);
25359575Sdim
26359575Sdim    ~SBExecutionContext();
27359575Sdim
28359575Sdim    SBTarget
29359575Sdim    GetTarget () const;
30359575Sdim
31359575Sdim    SBProcess
32359575Sdim    GetProcess () const;
33359575Sdim
34359575Sdim    SBThread
35359575Sdim    GetThread () const;
36359575Sdim
37359575Sdim    SBFrame
38359575Sdim    GetFrame () const;
39359575Sdim
40359575Sdim#ifdef SWIGPYTHON
41359575Sdim    %pythoncode %{
42359575Sdim        target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''')
43359575Sdim        process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''')
44359575Sdim        thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''')
45359575Sdim        frame = property(GetFrame, None, doc='''A read only property that returns the same result as GetFrame().''')
46359575Sdim    %}
47359575Sdim#endif
48359575Sdim
49359575Sdim};
50359575Sdim
51359575Sdim} // namespace lldb
52