Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2021-02-12 07:12:36 +0000
committerLars Vogel2021-02-12 11:41:20 +0000
commit54cbcecbcecbf6440267f83b8db07bdcbce457a9 (patch)
treebc28435ee5a982dff307d29f13eb35ad7fbcdb95
parent74705dc54fc01a1266ed3025119c915f880a3fd1 (diff)
downloadeclipse.jdt.core-54cbcecbcecbf6440267f83b8db07bdcbce457a9.tar.gz
eclipse.jdt.core-54cbcecbcecbf6440267f83b8db07bdcbce457a9.tar.xz
eclipse.jdt.core-54cbcecbcecbf6440267f83b8db07bdcbce457a9.zip
Bug 571017 - Use atomic marker creation API in
RequestorWrapper The new marker API from Bug 570914 allows to create markers with attributes and therefore avoids sending out resource change events for every attribute change. Also removes one commented line of code JDT core dependencies have already increased the minimum required resource API version in a previous commit. Change-Id: I8683054f8b77722f40eaba0e61cdc99c3d967171 Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/RequestorWrapper.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/RequestorWrapper.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/RequestorWrapper.java
index 338b44e67e..1c4487c304 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/RequestorWrapper.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/RequestorWrapper.java
@@ -13,6 +13,9 @@
*******************************************************************************/
package org.eclipse.jdt.internal.core.eval;
+import java.util.HashMap;
+import java.util.Map;
+
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
@@ -57,15 +60,16 @@ public boolean acceptClassFiles(ClassFile[] classFiles, char[] codeSnippetClassN
@Override
public void acceptProblem(CategorizedProblem problem, char[] fragmentSource, int fragmentKind) {
try {
- IMarker marker = ResourcesPlugin.getWorkspace().getRoot().createMarker(IJavaModelMarker.TRANSIENT_PROBLEM);
- marker.setAttribute(IJavaModelMarker.ID, problem.getID());
- marker.setAttribute(IMarker.CHAR_START, problem.getSourceStart());
- marker.setAttribute(IMarker.CHAR_END, problem.getSourceEnd() + 1);
- marker.setAttribute(IMarker.LINE_NUMBER, problem.getSourceLineNumber());
- //marker.setAttribute(IMarker.LOCATION, "#" + problem.getSourceLineNumber());
- marker.setAttribute(IMarker.MESSAGE, problem.getMessage());
- marker.setAttribute(IMarker.SEVERITY, (problem.isError() ? IMarker.SEVERITY_ERROR : problem.isWarning() ? IMarker.SEVERITY_WARNING : IMarker.SEVERITY_INFO));
- marker.setAttribute(IMarker.SOURCE_ID, JavaBuilder.SOURCE_ID);
+ Map<String, Object> attributes = new HashMap<>();
+ attributes.put(IJavaModelMarker.ID, problem.getID());
+ attributes.put(IMarker.CHAR_START, problem.getSourceStart());
+ attributes.put(IMarker.CHAR_END, problem.getSourceEnd() + 1);
+ attributes.put(IMarker.LINE_NUMBER, problem.getSourceLineNumber());
+ attributes.put(IMarker.MESSAGE, problem.getMessage());
+ attributes.put(IMarker.SEVERITY, (problem.isError() ? IMarker.SEVERITY_ERROR : problem.isWarning() ? IMarker.SEVERITY_WARNING : IMarker.SEVERITY_INFO));
+ attributes.put(IMarker.SOURCE_ID, JavaBuilder.SOURCE_ID);
+
+ IMarker marker = ResourcesPlugin.getWorkspace().getRoot().createMarker(IJavaModelMarker.TRANSIENT_PROBLEM, attributes);
this.requestor.acceptProblem(marker, new String(fragmentSource), fragmentKind);
} catch (CoreException e) {
e.printStackTrace();

Back to the top