Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(878)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java

Issue 994733002: Issue 22465. Mark occurrences only if there are no pending changes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java
index b48190c2ead56d5bb9d1d41b271366b011a7eecd..bf4701f2efac92a0fbf1ec92bd69c113d6cf5a75 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/editor/MarkOccurrencesManager_NEW.java
@@ -18,6 +18,7 @@ import com.google.common.collect.Maps;
import com.google.dart.server.generated.types.Occurrences;
import com.google.dart.tools.core.DartCore;
import com.google.dart.tools.core.analysis.model.AnalysisServerOccurrencesListener;
+import com.google.dart.tools.ui.internal.text.dart.DartReconcilingStrategy;
import com.google.dart.tools.ui.internal.text.functions.DartWordFinder;
import org.eclipse.jface.text.BadLocationException;
@@ -43,7 +44,8 @@ public class MarkOccurrencesManager_NEW implements AnalysisServerOccurrencesList
private static final String TYPE = "com.google.dart.tools.ui.occurrences";
private final DartEditor editor;
- private final DartSourceViewer viewer;
+ private final IDocument document;
+ private final DartReconcilingStrategy reconcilingStrategy;
private final IEditorInput editorInput;
private final String file;
@@ -54,9 +56,11 @@ public class MarkOccurrencesManager_NEW implements AnalysisServerOccurrencesList
private Annotation[] fOccurrenceAnnotations;
private IRegion fMarkOccurrenceTargetRegion;
- public MarkOccurrencesManager_NEW(DartEditor _editor, DartSourceViewer viewer) {
- this.editor = _editor;
- this.viewer = viewer;
+ public MarkOccurrencesManager_NEW(DartEditor editor, DartSourceViewer viewer,
+ DartReconcilingStrategy reconcilingStrategy) {
+ this.editor = editor;
+ this.document = viewer.getDocument();
+ this.reconcilingStrategy = reconcilingStrategy;
this.editorInput = editor.getEditorInput();
this.file = editor.getInputFilePath();
DartCore.getAnalysisServerData().addOccurrencesListener(file, this);
@@ -171,11 +175,6 @@ public class MarkOccurrencesManager_NEW implements AnalysisServerOccurrencesList
}
private void updateOccurrenceAnnotations() {
- IDocument document = viewer.getDocument();
- if (document == null) {
- return;
- }
-
if (document instanceof IDocumentExtension4) {
IRegion markOccurrenceTargetRegion = fMarkOccurrenceTargetRegion;
if (markOccurrenceTargetRegion != null) {
@@ -200,11 +199,13 @@ public class MarkOccurrencesManager_NEW implements AnalysisServerOccurrencesList
}
Occurrences targetOccurrences = null;
- Occurrences[] occurrencesArray = DartCore.getAnalysisServerData().getOccurrences(file);
- for (Occurrences occurrences : occurrencesArray) {
- if (occurrences.contains(selectionOffset)) {
- targetOccurrences = occurrences;
- break;
+ if (!reconcilingStrategy.hasPendingContentChanges()) {
+ Occurrences[] occurrencesArray = DartCore.getAnalysisServerData().getOccurrences(file);
+ for (Occurrences occurrences : occurrencesArray) {
+ if (occurrences.containsInclusive(selectionOffset)) {
+ targetOccurrences = occurrences;
+ break;
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698