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) {