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

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

Issue 1527793003: Clean up imports in analysis_server and analyzer_cli (and one missed in analyzer) (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years 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/type_member_contributor.dart
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
index 8915a655cc5c429bebb41f67b69d66f512476203..076a892dab6de2980be885521bf87983447b95c1 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
@@ -10,8 +10,9 @@ import 'dart:collection';
import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
import 'package:analysis_server/src/services/completion/local_declaration_visitor.dart';
+import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/generated/ast.dart';
-import 'package:analyzer/src/generated/element.dart';
import '../../../protocol_server.dart'
show CompletionSuggestion, CompletionSuggestionKind;
@@ -280,6 +281,44 @@ class _SuggestionBuilder {
Iterable<CompletionSuggestion> get suggestions => _suggestionMap.values;
/**
+ * Return completion suggestions for 'dot' completions on the given [type].
+ * If the 'dot' completion is a super expression, then [containingMethodName]
+ * is the name of the method in which the completion is requested.
+ */
+ void buildSuggestions(InterfaceType type, String containingMethodName) {
+ // Visit all of the types in the class hierarchy, collecting possible
+ // completions. If multiple elements are found that complete to the same
+ // identifier, addSuggestion will discard all but the first (with a few
+ // exceptions to handle getter/setter pairs).
+ List<InterfaceType> types = _getTypeOrdering(type);
+ for (InterfaceType targetType in types) {
+ for (MethodElement method in targetType.methods) {
+ // Exclude static methods when completion on an instance
+ if (!method.isStatic) {
+ // Boost the relevance of a super expression
+ // calling a method of the same name as the containing method
+ _addSuggestion(method,
+ relevance: method.name == containingMethodName
+ ? DART_RELEVANCE_HIGH
+ : DART_RELEVANCE_DEFAULT);
+ }
+ }
+ for (PropertyAccessorElement propertyAccessor in targetType.accessors) {
+ if (!propertyAccessor.isStatic) {
+ if (propertyAccessor.isSynthetic) {
+ // Avoid visiting a field twice
+ if (propertyAccessor.isGetter) {
+ _addSuggestion(propertyAccessor.variable);
+ }
+ } else {
+ _addSuggestion(propertyAccessor);
+ }
+ }
+ }
+ }
+ }
+
+ /**
* Add a suggestion based upon the given element, provided that it is not
* shadowed by a previously added suggestion.
*/
@@ -336,44 +375,6 @@ class _SuggestionBuilder {
}
/**
- * Return completion suggestions for 'dot' completions on the given [type].
- * If the 'dot' completion is a super expression, then [containingMethodName]
- * is the name of the method in which the completion is requested.
- */
- void buildSuggestions(InterfaceType type, String containingMethodName) {
- // Visit all of the types in the class hierarchy, collecting possible
- // completions. If multiple elements are found that complete to the same
- // identifier, addSuggestion will discard all but the first (with a few
- // exceptions to handle getter/setter pairs).
- List<InterfaceType> types = _getTypeOrdering(type);
- for (InterfaceType targetType in types) {
- for (MethodElement method in targetType.methods) {
- // Exclude static methods when completion on an instance
- if (!method.isStatic) {
- // Boost the relevance of a super expression
- // calling a method of the same name as the containing method
- _addSuggestion(method,
- relevance: method.name == containingMethodName
- ? DART_RELEVANCE_HIGH
- : DART_RELEVANCE_DEFAULT);
- }
- }
- for (PropertyAccessorElement propertyAccessor in targetType.accessors) {
- if (!propertyAccessor.isStatic) {
- if (propertyAccessor.isSynthetic) {
- // Avoid visiting a field twice
- if (propertyAccessor.isGetter) {
- _addSuggestion(propertyAccessor.variable);
- }
- } else {
- _addSuggestion(propertyAccessor);
- }
- }
- }
- }
- }
-
- /**
* Get a list of [InterfaceType]s that should be searched to find the
* possible completions for an object having type [type].
*/

Powered by Google App Engine
This is Rietveld 408576698