Bug 562295 - do not put irrelevant marker fields to evaluation errors

This will show such errors:

"P cannot be resolved or is not a field, The nested type
workbench.ScopeTest$Runner cannot be referenced using its binary name"

instead of showing this to user:

"Marker [on: /, id: 240, type: org.eclipse.jdt.core.transient_problem,
attributes: [charEnd: 74, charStart: 73, id: 33554502, lineNumber: 1,
message: P cannot be resolved or is not a field, severity: 2, sourceId:
JDT], created: 4/22/20 6:58 PM], Marker [on: /, id: 241, type:
org.eclipse.jdt.core.transient_problem, attributes: [charEnd: 210,
charStart: 184, id: 16777222, lineNumber: 6, message: The nested type
workbench.ScopeTest$Runner cannot be referenced using its binary name,
severity: 2, sourceId: JDT], created: 4/22/20 6:58 PM]"

Change-Id: I2eb0a2f6cdbe703518baf74ea619bd79d3bfba7e
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/RemoteEvaluatorBuilder.java b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/RemoteEvaluatorBuilder.java
index 03a05fa..b4d1a11 100644
--- a/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/RemoteEvaluatorBuilder.java
+++ b/org.eclipse.jdt.debug/eval/org/eclipse/jdt/internal/debug/eval/RemoteEvaluatorBuilder.java
@@ -118,10 +118,14 @@
 				@Override
 				public void acceptProblem(IMarker problemMarker, String fragmentSource, int fragmentKind) {
 					if (problemMarker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) >= IMarker.SEVERITY_ERROR) {
-						errors.add(problemMarker.toString());
+						errors.add(toString(problemMarker));
 					}
 				}
 
+				private String toString(IMarker marker) {
+					return marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
+				}
+
 				@Override
 				public boolean acceptClassFiles(byte[][] classFileBytes, String[][] classFileCompoundNames, String mainCodeSnippetClassName) {
 					for (int i = 0; i < classFileCompoundNames.length; ++i) {