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

Unified Diff: pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart

Issue 1693933002: rework completion request resolve imports (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: sort methods Created 4 years, 10 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/services/completion/dart/imported_reference_contributor.dart
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
index 736f2a0769eb2637d3692ef66de74c3d67dd0872..abed73526ac331bc787715444e405184c6609bba 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/imported_reference_contributor.dart
@@ -10,12 +10,11 @@ import 'package:analysis_server/src/provisional/completion/dart/completion_dart.
import 'package:analysis_server/src/services/completion/dart/completion_manager.dart';
import 'package:analysis_server/src/services/completion/dart/local_library_contributor.dart';
import 'package:analysis_server/src/services/completion/dart/optype.dart';
-import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/element.dart';
+import 'package:analyzer/src/generated/resolver.dart';
import '../../../protocol_server.dart'
show CompletionSuggestion, CompletionSuggestionKind;
-import 'package:analyzer/src/generated/resolver.dart';
/**
* A contributor for calculating suggestions for imported top level members.
@@ -31,29 +30,23 @@ class ImportedReferenceContributor extends DartCompletionContributor {
return EMPTY_LIST;
}
- List<Directive> directives = await request.resolveDirectives();
- if (directives == null) {
+ List<ImportElement> imports = await request.resolveImports();
+ if (imports == null) {
return EMPTY_LIST;
}
this.request = request;
this.optype = (request as DartCompletionRequestImpl).opType;
+ List<CompletionSuggestion> suggestions = <CompletionSuggestion>[];
- // Traverse dart:core
- List<CompletionSuggestion> suggestions =
- _buildSuggestions(request.coreLib.exportNamespace);
-
- // Traverse imports
- for (Directive directive in directives) {
- if (directive is ImportDirective) {
- ImportElement importElem = directive.element;
- LibraryElement libElem = importElem?.importedLibrary;
- if (libElem != null) {
- suggestions.addAll(_buildSuggestions(libElem.exportNamespace,
- prefix: importElem.prefix?.name,
- showNames: showNamesIn(importElem),
- hiddenNames: hiddenNamesIn(importElem)));
- }
+ // Traverse imports including dart:core
+ for (ImportElement importElem in imports) {
+ LibraryElement libElem = importElem?.importedLibrary;
+ if (libElem != null) {
+ suggestions.addAll(_buildSuggestions(libElem.exportNamespace,
+ prefix: importElem.prefix?.name,
+ showNames: showNamesIn(importElem),
+ hiddenNames: hiddenNamesIn(importElem)));
}
}

Powered by Google App Engine
This is Rietveld 408576698