Chromium Code Reviews| 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 70b1e9bafd8f7e219eb921246170a5dcc7c6f525..10db3f5c7daaf5fef9427b0e680418fed9fb074e 100644 |
| --- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
| +++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
| @@ -7,7 +7,6 @@ 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_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'; |
| @@ -20,6 +19,8 @@ import 'package:analyzer/src/generated/engine.dart'; |
| import 'package:analyzer/src/generated/error.dart'; |
| import 'package:analyzer/src/generated/html.dart'; |
| import 'package:analyzer/src/generated/source.dart'; |
| +import 'package:analysis_server/src/domains/analysis/navigation.dart'; |
| +import 'package:analysis_server/analysis/navigation/navigation_core.dart'; |
| /** |
| * Runs the given function [f] with the working cache size in [context]. |
| @@ -53,9 +54,14 @@ void scheduleIndexOperation(AnalysisServer server, String file, |
| * Schedules sending notifications for the given [file] using the resolved |
| * [resolvedDartUnit]. |
| */ |
| -void scheduleNotificationOperations(AnalysisServer server, String file, |
| - LineInfo lineInfo, AnalysisContext context, CompilationUnit parsedDartUnit, |
| - CompilationUnit resolvedDartUnit, List<AnalysisError> errors) { |
| +void scheduleNotificationOperations( |
| + AnalysisServer server, |
| + String file, |
| + LineInfo lineInfo, |
| + AnalysisContext context, |
| + CompilationUnit parsedDartUnit, |
| + CompilationUnit resolvedDartUnit, |
| + List<AnalysisError> errors) { |
| // If the file belongs to any analysis root, check whether we're in it now. |
| AnalysisContext containingContext = server.getContainingContext(file); |
| if (containingContext != null && context != containingContext) { |
| @@ -162,10 +168,11 @@ void sendAnalysisNotificationHighlights( |
| } |
| void sendAnalysisNotificationNavigation( |
| - AnalysisServer server, String file, CompilationUnit dartUnit) { |
| + AnalysisServer server, AnalysisContext context, Source source) { |
| _sendNotification(server, () { |
| - var computer = new DartUnitNavigationComputer(); |
| - computer.compute(dartUnit); |
| + NavigationHolder computer = |
| + computeNavigation(server, context, source, null, null); |
| + String file = source.fullName; |
| var params = new protocol.AnalysisNavigationParams( |
| file, computer.regions, computer.targets, computer.files); |
| server.sendNotification(params.toNotification()); |
| @@ -381,7 +388,9 @@ class _DartNavigationOperation extends _DartNotificationOperation { |
| @override |
| void perform(AnalysisServer server) { |
| - sendAnalysisNotificationNavigation(server, file, unit); |
| + // TODO(scheglov) get rid of "file" and replace it with "source"? |
|
Brian Wilkerson
2015/09/01 14:55:42
Is this done? I don't see a 'file' being reference
|
| + Source source = unit.element.source; |
| + sendAnalysisNotificationNavigation(server, context, source); |
| } |
| } |