|
 |
|
|
org.eclipse.jdt.debug.eval
Interface IAstEvaluationEngine
-
All Superinterfaces:
-
IEvaluationEngine
-
public interface IAstEvaluationEngine
- extends
IEvaluationEngine
An evaluation engine that performs evaluations by
interpreting abstract syntax trees. An AST evaluation engine
is capable of creating compiled expressions that can be
evaluated multiple times in a given runtime context.
-
Since:
- 2.0
-
Restriction:
- This interface is not intended to be implemented by clients.
-
Restriction:
- This interface is not intended to be extended by clients.
Method Summary
|
void
|
evaluateExpression
(
ICompiledExpression expression,
IJavaObject object,
IJavaThread thread,
IEvaluationListener listener,
int evaluationDetail,
boolean hitBreakpoints)
Asynchronously evaluates the given expression in the context of
the specified type, reporting the result back to the given listener. |
void
|
evaluateExpression
(
ICompiledExpression expression,
IJavaStackFrame frame,
IEvaluationListener listener,
int evaluationDetail,
boolean hitBreakpoints)
Asynchronously evaluates the given expression in the context of
the specified stack frame, reporting the result back to the given listener. |
ICompiledExpression
|
getCompiledExpression
(
String expression,
IJavaObject object)
Synchronously generates a compiled expression from the given expression
in the context of the specified object. |
ICompiledExpression
|
getCompiledExpression
(
String expression,
IJavaReferenceType type)
Synchronously generates a compiled expression from the given expression
in the context of the specified type. |
ICompiledExpression
|
getCompiledExpression
(
String expression,
IJavaStackFrame frame)
Synchronously generates a compiled expression from the given expression
in the context of the specified stack frame. |
evaluateExpression
void evaluateExpression(
ICompiledExpression expression,
IJavaStackFrame frame,
IEvaluationListener listener,
int evaluationDetail,
boolean hitBreakpoints)
throws
DebugException
- Asynchronously evaluates the given expression in the context of
the specified stack frame, reporting the result back to the given listener.
The thread is resumed from the location at which it
is currently suspended to perform the evaluation. When the evaluation
completes, the thread will be suspended at this original location.
The thread runs the evaluation with the given evaluation detail
(@see IJavaThread#runEvaluation(IEvaluationRunnable, IProgressMonitor, int)).
Compilation and runtime errors are reported in the evaluation result.
-
-
-
Parameters:
-
expression - expression to evaluate -
frame - the stack frame context in which to run the
evaluation. -
listener - the listener that will receive notification
when/if the evaluation completes -
evaluationDetail - one of DebugEvent.EVALUATION or
DebugEvent.EVALUATION_IMPLICIT
-
hitBreakpoints - whether or not breakpoints should be honored
in the evaluation thread during the evaluation. If false ,
breakpoints hit in the evaluation thread will be ignored.
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- The associated thread is not currently suspended
- The stack frame is not contained in the debug target
associated with this evaluation engine
- The associated thread is suspended in the middle of
an evaluation that has not completed. It is not possible
to perform nested evaluations
evaluateExpression
void evaluateExpression(
ICompiledExpression expression,
IJavaObject object,
IJavaThread thread,
IEvaluationListener listener,
int evaluationDetail,
boolean hitBreakpoints)
throws
DebugException
- Asynchronously evaluates the given expression in the context of
the specified type, reporting the result back to the given listener.
The expression is evaluated in the context of the Java
project this evaluation engine was created on. If the
expression is determined to have no errors, the expression
is evaluated in the thread associated with the given
stack frame. When the evaluation completes, the thread
will be suspended at this original location.
The thread runs the evaluation with the given evaluation detail
(@see IJavaThread#runEvaluation(IEvaluationRunnable, IProgressMonitor, int)).
Compilation and runtime errors are reported in the evaluation result.
-
-
-
Parameters:
-
expression - the expression to evaluate -
object - the 'this' context for the evaluation -
thread - the thread in which to run the evaluation,
which must be suspended -
listener - the listener that will receive notification
when/if the evaluation completes -
evaluationDetail - one of DebugEvent.EVALUATION or
DebugEvent.EVALUATION_IMPLICIT
-
hitBreakpoints - whether or not breakpoints should be honored
in the evaluation thread during the evaluation. If false ,
breakpoints hit in the evaluation thread will be ignored.
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- The associated thread is not currently suspended
- The stack frame is not contained in the debug target
associated with this evaluation engine
- The associated thread is suspended in the middle of
an evaluation that has not completed. It is not possible
to perform nested evaluations
getCompiledExpression
ICompiledExpression getCompiledExpression(
String expression,
IJavaStackFrame frame)
throws
DebugException
- Synchronously generates a compiled expression from the given expression
in the context of the specified stack frame. The generated expression
can be stored and evaluated later in a valid runtime context.
Compilation errors are reported in the returned compiled expression.
-
-
-
Parameters:
-
expression - expression to compile -
frame - the context in which to compile the expression
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- The associated thread is not currently suspended
- The stack frame is not contained in the debug target
associated with this evaluation engine
getCompiledExpression
ICompiledExpression getCompiledExpression(
String expression,
IJavaObject object)
throws
DebugException
- Synchronously generates a compiled expression from the given expression
in the context of the specified object. The generated expression
can be stored and evaluated later in a valid runtime context.
Compilation errors are reported in the returned compiled expression.
-
-
-
Parameters:
-
expression - expression to compile -
object - the context in which to compile the expression
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- The associated thread is not currently suspended
- The stack frame is not contained in the debug target
associated with this evaluation engine
getCompiledExpression
ICompiledExpression getCompiledExpression(
String expression,
IJavaReferenceType type)
throws
DebugException
- Synchronously generates a compiled expression from the given expression
in the context of the specified type. The generated expression
can be stored and evaluated later in a valid runtime context.
Compilation errors are reported in the returned compiled expression.
-
-
-
Parameters:
-
expression - expression to compile -
type - the context in which to compile the expression
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
- The associated thread is not currently suspended
- The stack frame is not contained in the debug target
associated with this evaluation engine
-
Since:
- 3.1
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|
|