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

Unified Diff: pkg/analysis_server/lib/src/operation/operation_analysis.dart

Issue 1368793003: The 'analysis.implemented' notification implementation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 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: 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 c17f399bd20198447817e9b514335cecb85f8194..198955c4e705d20b767f1b620fa00f6e8834b2b9 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -9,13 +9,16 @@ import 'package:analysis_server/src/computer/computer_highlights.dart';
import 'package:analysis_server/src/computer/computer_highlights2.dart';
import 'package:analysis_server/src/computer/computer_outline.dart';
import 'package:analysis_server/src/computer/computer_overrides.dart';
+import 'package:analysis_server/src/domains/analysis/implemented_dart.dart';
import 'package:analysis_server/src/domains/analysis/navigation.dart';
import 'package:analysis_server/src/domains/analysis/occurrences.dart';
import 'package:analysis_server/src/operation/operation.dart';
import 'package:analysis_server/src/protocol_server.dart' as protocol;
import 'package:analysis_server/src/services/dependencies/library_dependencies.dart';
import 'package:analysis_server/src/services/index/index.dart';
+import 'package:analysis_server/src/services/search/search_engine.dart';
import 'package:analyzer/src/generated/ast.dart';
+import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/html.dart';
@@ -39,6 +42,25 @@ runWithWorkingCacheSize(AnalysisContext context, f()) {
}
}
+scheduleImplementedNotification(
+ AnalysisServer server, Iterable<String> files) async {
+ SearchEngine searchEngine = server.searchEngine;
+ if (searchEngine == null) {
+ return;
+ }
+ for (String file in files) {
+ CompilationUnitElement unitElement = server.getCompilationUnitElement(file);
+ if (unitElement != null) {
+ ImplementedComputer computer =
+ new ImplementedComputer(searchEngine, unitElement);
+ await computer.compute();
+ var params = new protocol.AnalysisImplementedParams(
+ file, computer.classes, computer.members);
+ server.sendNotification(params.toNotification());
+ }
+ }
+}
+
/**
* Schedules indexing of the given [file] using the resolved [dartUnit].
*/

Powered by Google App Engine
This is Rietveld 408576698