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

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

Issue 1337143002: Add OCCURRENCES_CONTRIBUTOR_EXTENSION_POINT_ID. (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 5cc1dadff801aec076b914d29356181e1cd5d9fd..0270b273feaa026bfc24a120f4c48bc9e7e953cf 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -7,10 +7,10 @@ library operation.analysis;
import 'package:analysis_server/src/analysis_server.dart';
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_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/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';
@@ -82,8 +82,8 @@ void scheduleNotificationOperations(
}
if (server.hasAnalysisSubscription(
protocol.AnalysisService.OCCURRENCES, file)) {
- server.scheduleOperation(
- new _DartOccurrencesOperation(context, file, resolvedDartUnit));
+ Source source = resolvedDartUnit.element.source;
+ server.scheduleOperation(new OccurrencesOperation(context, source));
}
if (server.hasAnalysisSubscription(
protocol.AnalysisService.OVERRIDES, file)) {
@@ -179,10 +179,13 @@ void sendAnalysisNotificationNavigation(
}
void sendAnalysisNotificationOccurrences(
- AnalysisServer server, String file, CompilationUnit dartUnit) {
+ AnalysisServer server, AnalysisContext context, Source source) {
_sendNotification(server, () {
- var occurrences = new DartUnitOccurrencesComputer(dartUnit).compute();
- var params = new protocol.AnalysisOccurrencesParams(file, occurrences);
+ OccurrencesCollectorImpl collector =
+ computeOccurrences(server, context, source);
+ String file = source.fullName;
+ var params =
+ new protocol.AnalysisOccurrencesParams(file, collector.allOccurrences);
server.sendNotification(params.toNotification());
});
}
@@ -235,16 +238,34 @@ class NavigationOperation extends _NotificationOperation
: super(context, source);
@override
+ bool merge(ServerOperation other) {
+ return other is NavigationOperation &&
+ other.context == context &&
+ other.source == source;
+ }
+
+ @override
void perform(AnalysisServer server) {
sendAnalysisNotificationNavigation(server, context, source);
}
+}
+
+class OccurrencesOperation extends _NotificationOperation
+ implements MergeableOperation {
+ OccurrencesOperation(AnalysisContext context, Source source)
+ : super(context, source);
@override
bool merge(ServerOperation other) {
- return other is NavigationOperation &&
+ return other is OccurrencesOperation &&
other.context == context &&
other.source == source;
}
+
+ @override
+ void perform(AnalysisServer server) {
+ sendAnalysisNotificationOccurrences(server, context, source);
+ }
}
/**
@@ -410,17 +431,6 @@ abstract class _DartNotificationOperation extends _SingleFileOperation {
}
}
-class _DartOccurrencesOperation extends _DartNotificationOperation {
- _DartOccurrencesOperation(
- AnalysisContext context, String file, CompilationUnit unit)
- : super(context, file, unit);
-
- @override
- void perform(AnalysisServer server) {
- sendAnalysisNotificationOccurrences(server, file, unit);
- }
-}
-
class _DartOutlineOperation extends _DartNotificationOperation {
final LineInfo lineInfo;

Powered by Google App Engine
This is Rietveld 408576698