Deleted Added
full compact
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_