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

Unified Diff: editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java

Issue 311053005: Updates for the Outline API and use it in Editor. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 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.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java
diff --git a/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java b/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java
index 00187b1f0cd807d2a3eb1ebec8e0e2b7aeb298cc..436e302cbf2ef56e098938388b91dd61a3b50b8f 100644
--- a/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java
+++ b/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/analysis/model/AnalysisServerDataImpl.java
@@ -105,23 +105,14 @@ public class AnalysisServerDataImpl implements AnalysisServerData {
@Override
public void subscribeOutline(String file, AnalysisServerOutlineListener listener) {
- // TODO(scheglov) restore or remove for the new API
-// Map<Source, Set<AnalysisServerOutlineListener>> sourceSubscriptions = outlineSubscriptions.get(contextId);
-// if (sourceSubscriptions == null) {
-// sourceSubscriptions = Maps.newHashMap();
-// outlineSubscriptions.put(contextId, sourceSubscriptions);
-// }
-// Set<AnalysisServerOutlineListener> subscriptions = sourceSubscriptions.get(source);
-// if (subscriptions == null) {
-// subscriptions = Sets.newHashSet();
-// sourceSubscriptions.put(source, subscriptions);
-// }
-// if (subscriptions.add(listener)) {
-// Set<Source> sourceSet = sourceSubscriptions.keySet();
-// server.subscribe(
-// contextId,
-// ImmutableMap.of(NotificationKind.OUTLINE, ListSourceSet.create(sourceSet)));
-// }
+ Set<AnalysisServerOutlineListener> subscriptions = outlineSubscriptions.get(file);
+ if (subscriptions == null) {
+ subscriptions = Sets.newHashSet();
+ outlineSubscriptions.put(file, subscriptions);
+ }
+ if (subscriptions.add(listener)) {
+ addAnalysisSubscription(AnalysisService.OUTLINE, file);
+ }
}
@Override
@@ -144,24 +135,15 @@ public class AnalysisServerDataImpl implements AnalysisServerData {
@Override
public void unsubscribeOutline(String file, AnalysisServerOutlineListener listener) {
- // TODO(scheglov) restore or remove for the new API
-// Map<Source, Set<AnalysisServerOutlineListener>> sourceSubscriptions = outlineSubscriptions.get(contextId);
-// if (sourceSubscriptions == null) {
-// return;
-// }
-// Set<AnalysisServerOutlineListener> subscriptions = sourceSubscriptions.get(source);
-// if (subscriptions == null) {
-// return;
-// }
-// if (subscriptions.remove(listener)) {
-// if (subscriptions.isEmpty()) {
-// sourceSubscriptions.remove(source);
-// Set<Source> sourceSet = sourceSubscriptions.keySet();
-// server.subscribe(
-// contextId,
-// ImmutableMap.of(NotificationKind.OUTLINE, ListSourceSet.create(sourceSet)));
-// }
-// }
+ Set<AnalysisServerOutlineListener> subscriptions = outlineSubscriptions.get(file);
+ if (subscriptions == null) {
+ return;
+ }
+ if (subscriptions.remove(listener)) {
+ if (subscriptions.isEmpty()) {
+ removeAnalysisSubscription(AnalysisService.OUTLINE, file);
+ }
+ }
}
void internalComputedErrors(String file, AnalysisError[] errors) {

Powered by Google App Engine
This is Rietveld 408576698