[libc][test] Adjust header paths in tests (#119623)
[llvm-project.git] / lldb / include / lldb / API / SBExecutionContext.h
blobe1e08fe3f4aae472e13a1648c4603d2e27768ea0
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 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_API_SBEXECUTIONCONTEXT_H
11 #define LLDB_API_SBEXECUTIONCONTEXT_H
13 #include "lldb/API/SBDefines.h"
15 #include <cstdio>
16 #include <vector>
18 namespace lldb_private {
19 class ScriptInterpreter;
20 namespace python {
21 class SWIGBridge;
23 } // namespace lldb_private
25 namespace lldb {
27 class LLDB_API SBExecutionContext {
28 friend class SBCommandInterpreter;
30 public:
31 SBExecutionContext();
33 SBExecutionContext(const lldb::SBExecutionContext &rhs);
35 SBExecutionContext(const lldb::SBTarget &target);
37 SBExecutionContext(const lldb::SBProcess &process);
39 SBExecutionContext(lldb::SBThread thread); // can't be a const& because
40 // SBThread::get() isn't itself a
41 // const function
43 SBExecutionContext(const lldb::SBFrame &frame);
45 ~SBExecutionContext();
47 const SBExecutionContext &operator=(const lldb::SBExecutionContext &rhs);
49 SBTarget GetTarget() const;
51 SBProcess GetProcess() const;
53 SBThread GetThread() const;
55 SBFrame GetFrame() const;
57 protected:
58 friend class lldb_private::python::SWIGBridge;
59 friend class lldb_private::ScriptInterpreter;
61 lldb_private::ExecutionContextRef *get() const;
63 SBExecutionContext(lldb::ExecutionContextRefSP exe_ctx_ref_sp);
65 private:
66 mutable lldb::ExecutionContextRefSP m_exe_ctx_sp;
69 } // namespace lldb
71 #endif // LLDB_API_SBEXECUTIONCONTEXT_H