ExecutionContextScope.h (276479) | ExecutionContextScope.h (314564) |
---|---|
1//===-- ExecutionContextScope.h ---------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 5 unchanged lines hidden (view full) --- 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/lldb-private.h" 18 19namespace lldb_private { 20 21//---------------------------------------------------------------------- | 1//===-- ExecutionContextScope.h ---------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 5 unchanged lines hidden (view full) --- 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/lldb-private.h" 18 19namespace lldb_private { 20 21//---------------------------------------------------------------------- |
22/// @class ExecutionContextScope ExecutionContextScope.h "lldb/Symbol/ExecutionContextScope.h" | 22/// @class ExecutionContextScope ExecutionContextScope.h 23/// "lldb/Symbol/ExecutionContextScope.h" |
23/// @brief Inherit from this if your object can reconstruct its 24/// execution context. 25/// 26/// Many objects that have pointers back to parent execution context 27/// objects can inherit from this pure virtual class can reconstruct 28/// their execution context without having to keep a complete 29/// ExecutionContext object in the object state. Examples of these 30/// objects include: Process, Thread, RegisterContext and StackFrame. 31/// 32/// Objects can contain a valid pointer to an instance of this so they 33/// can reconstruct the execution context. 34/// 35/// Objects that adhere to this protocol can reconstruct enough of a 36/// execution context to allow functions that take a execution contexts 37/// to be called. 38//---------------------------------------------------------------------- | 24/// @brief Inherit from this if your object can reconstruct its 25/// execution context. 26/// 27/// Many objects that have pointers back to parent execution context 28/// objects can inherit from this pure virtual class can reconstruct 29/// their execution context without having to keep a complete 30/// ExecutionContext object in the object state. Examples of these 31/// objects include: Process, Thread, RegisterContext and StackFrame. 32/// 33/// Objects can contain a valid pointer to an instance of this so they 34/// can reconstruct the execution context. 35/// 36/// Objects that adhere to this protocol can reconstruct enough of a 37/// execution context to allow functions that take a execution contexts 38/// to be called. 39//---------------------------------------------------------------------- |
39class ExecutionContextScope 40{ | 40class ExecutionContextScope { |
41public: | 41public: |
42 virtual 43 ~ExecutionContextScope () {} | 42 virtual ~ExecutionContextScope() {} |
44 | 43 |
45 virtual lldb::TargetSP 46 CalculateTarget () = 0; | 44 virtual lldb::TargetSP CalculateTarget() = 0; |
47 | 45 |
48 virtual lldb::ProcessSP 49 CalculateProcess () = 0; | 46 virtual lldb::ProcessSP CalculateProcess() = 0; |
50 | 47 |
51 virtual lldb::ThreadSP 52 CalculateThread () = 0; | 48 virtual lldb::ThreadSP CalculateThread() = 0; |
53 | 49 |
54 virtual lldb::StackFrameSP 55 CalculateStackFrame () = 0; | 50 virtual lldb::StackFrameSP CalculateStackFrame() = 0; |
56 | 51 |
57 //------------------------------------------------------------------ 58 /// Reconstruct the object's execution context into \a sc. 59 /// 60 /// The object should fill in as much of the ExecutionContextScope as it 61 /// can so function calls that require a execution context can be made 62 /// for the given object. 63 /// 64 /// @param[out] exe_ctx 65 /// A reference to an execution context object that gets filled 66 /// in. 67 //------------------------------------------------------------------ 68 virtual void 69 CalculateExecutionContext (ExecutionContext &exe_ctx) = 0; | 52 //------------------------------------------------------------------ 53 /// Reconstruct the object's execution context into \a sc. 54 /// 55 /// The object should fill in as much of the ExecutionContextScope as it 56 /// can so function calls that require a execution context can be made 57 /// for the given object. 58 /// 59 /// @param[out] exe_ctx 60 /// A reference to an execution context object that gets filled 61 /// in. 62 //------------------------------------------------------------------ 63 virtual void CalculateExecutionContext(ExecutionContext &exe_ctx) = 0; |
70}; 71 72} // namespace lldb_private 73 | 64}; 65 66} // namespace lldb_private 67 |
74#endif // liblldb_ExecutionContextScope_h_ | 68#endif // liblldb_ExecutionContextScope_h_ |