Index: pkg/analysis_server/lib/src/operation/operation_analysis.dart |
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
index 2964916b0a5dc140b8edab0adee7cdd68b778e22..f1c3018e4efbd436fb9613daae614d405e1bd049 100644 |
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
@@ -9,6 +9,7 @@ import 'package:analysis_server/src/computer/computer_highlights.dart'; |
import 'package:analysis_server/src/computer/computer_navigation.dart'; |
import 'package:analysis_server/src/computer/computer_occurrences.dart'; |
import 'package:analysis_server/src/computer/computer_outline.dart'; |
+import 'package:analysis_server/src/computer/computer_overrides.dart'; |
import 'package:analysis_server/src/constants.dart'; |
import 'package:analysis_server/src/operation/operation.dart'; |
import 'package:analysis_server/src/protocol.dart'; |
@@ -105,6 +106,16 @@ void sendAnalysisNotificationOutline(AnalysisServer server, |
} |
+void sendAnalysisNotificationOverrides(AnalysisServer server, |
+ String file, CompilationUnit dartUnit) { |
+ Notification notification = new Notification(ANALYSIS_OVERRIDES); |
+ notification.setParameter(FILE, file); |
+ notification.setParameter(OVERRIDES, new DartUnitOverridesComputer( |
+ dartUnit).compute()); |
+ server.sendNotification(notification); |
+} |
+ |
+ |
/** |
* Instances of [PerformAnalysisOperation] perform a single analysis task. |
*/ |
@@ -169,6 +180,9 @@ class PerformAnalysisOperation extends ServerOperation { |
if (server.hasAnalysisSubscription(AnalysisService.OUTLINE, file)) { |
sendAnalysisNotificationOutline(server, context, source, dartUnit); |
} |
+ if (server.hasAnalysisSubscription(AnalysisService.OVERRIDES, file)) { |
+ sendAnalysisNotificationOverrides(server, file, dartUnit); |
+ } |
} |
// TODO(scheglov) use default subscriptions |
if (!source.isInSystemLibrary) { |