Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:42

0001 //===-- SBExecutionContext.h -----------------------------------------*- C++
0002 //-*-===//
0003 //
0004 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0005 // See https://llvm.org/LICENSE.txt for license information.
0006 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0007 //
0008 //===----------------------------------------------------------------------===//
0009 
0010 #ifndef LLDB_API_SBEXECUTIONCONTEXT_H
0011 #define LLDB_API_SBEXECUTIONCONTEXT_H
0012 
0013 #include "lldb/API/SBDefines.h"
0014 
0015 #include <cstdio>
0016 #include <vector>
0017 
0018 namespace lldb_private {
0019 class ScriptInterpreter;
0020 namespace python {
0021 class SWIGBridge;
0022 }
0023 } // namespace lldb_private
0024 
0025 namespace lldb {
0026 
0027 class LLDB_API SBExecutionContext {
0028   friend class SBCommandInterpreter;
0029 
0030 public:
0031   SBExecutionContext();
0032 
0033   SBExecutionContext(const lldb::SBExecutionContext &rhs);
0034 
0035   SBExecutionContext(const lldb::SBTarget &target);
0036 
0037   SBExecutionContext(const lldb::SBProcess &process);
0038 
0039   SBExecutionContext(lldb::SBThread thread); // can't be a const& because
0040                                              // SBThread::get() isn't itself a
0041                                              // const function
0042 
0043   SBExecutionContext(const lldb::SBFrame &frame);
0044 
0045   ~SBExecutionContext();
0046 
0047   const SBExecutionContext &operator=(const lldb::SBExecutionContext &rhs);
0048 
0049   SBTarget GetTarget() const;
0050 
0051   SBProcess GetProcess() const;
0052 
0053   SBThread GetThread() const;
0054 
0055   SBFrame GetFrame() const;
0056 
0057 protected:
0058   friend class lldb_private::python::SWIGBridge;
0059   friend class lldb_private::ScriptInterpreter;
0060 
0061   lldb_private::ExecutionContextRef *get() const;
0062 
0063   SBExecutionContext(lldb::ExecutionContextRefSP exe_ctx_ref_sp);
0064 
0065 private:
0066   mutable lldb::ExecutionContextRefSP m_exe_ctx_sp;
0067 };
0068 
0069 } // namespace lldb
0070 
0071 #endif // LLDB_API_SBEXECUTIONCONTEXT_H