bug 31264 - Irrelevant debug actions in Java editor
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
index a0a0238..cc3c98c 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ActionMessages.properties
@@ -50,9 +50,8 @@
EnableDisableBreakpointRulerAction.Exceptions_occurred_enabling_disabling_the_breakpoint_3=Exceptions occurred enabling disabling the breakpoint
Evaluate.error.message.direct_exception=An exception occurred: {0}
-Evaluate.error.message.eval_adapter=No evaluation adapter
Evaluate.error.message.exception.pattern={0} - {1}
-Evaluate.error.message.src_context=No Java source element context
+Evaluate.error.message.src_context=The seleted stack frame must be associated with a Java project in the workspace to perform an evaluation.
Evaluate.error.message.stack_frame_context=A stack frame must be selected to provide a context for an evaluation.
Evaluate.error.message.wrapped_exception=An exception occurred: {0}
Evaluate.error.problem_append_pattern={0}\n{1}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
index 2083563..a1884ca 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/EvaluateAction.java
@@ -211,21 +211,14 @@
protected void run() {
// eval in context of object or stack frame
IJavaObject object = getObjectContext();
- IStackFrame stackFrame= getStackFrameContext();
+ IJavaStackFrame stackFrame= getStackFrameContext();
if (stackFrame == null) {
reportError(ActionMessages.getString("Evaluate.error.message.stack_frame_context")); //$NON-NLS-1$
return;
}
- IJavaStackFrame jFrame = null;
- if (stackFrame != null) {
- jFrame = (IJavaStackFrame) stackFrame.getAdapter(IJavaStackFrame.class);
- }
-
setNewTargetPart(getTargetPart());
- if (jFrame == null) {
- reportError(ActionMessages.getString("Evaluate.error.message.eval_adapter")); //$NON-NLS-1$
- } else if (jFrame.isSuspended()) {
+ if (stackFrame.isSuspended()) {
IJavaElement javaElement= getJavaElement(stackFrame);
if (javaElement != null) {
IJavaProject project = javaElement.getJavaProject();
@@ -237,12 +230,12 @@
}
String expression= (String)selection;
- engine = JDIDebugUIPlugin.getDefault().getEvaluationEngine(project, (IJavaDebugTarget)jFrame.getDebugTarget());
+ engine = JDIDebugUIPlugin.getDefault().getEvaluationEngine(project, (IJavaDebugTarget)stackFrame.getDebugTarget());
setEvaluating(true);
if (object == null) {
- engine.evaluate(expression, jFrame, this, DebugEvent.EVALUATION, true);
+ engine.evaluate(expression, stackFrame, this, DebugEvent.EVALUATION, true);
} else {
- engine.evaluate(expression, object, (IJavaThread)jFrame.getThread(), this, DebugEvent.EVALUATION, true);
+ engine.evaluate(expression, object, (IJavaThread)stackFrame.getThread(), this, DebugEvent.EVALUATION, true);
}
return;
} catch (CoreException e) {