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

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

Issue 1533613004: extract InheritedReferenceContributor from imported reference contributor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: include new tests in suite 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/imported_reference_contributor.dart
diff --git a/pkg/analysis_server/lib/src/services/completion/imported_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/imported_reference_contributor.dart
index 13537f4993a143fa02eaed0d229f3354b5da9f95..b13c33049746d4d5e2ddc176eac5c4f74deca040 100644
--- a/pkg/analysis_server/lib/src/services/completion/imported_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/imported_reference_contributor.dart
@@ -5,7 +5,6 @@
library services.completion.contributor.dart.toplevel;
import 'dart:async';
-import 'dart:collection';
import 'package:analysis_server/src/protocol_server.dart'
hide Element, ElementKind;
@@ -13,8 +12,6 @@ import 'package:analysis_server/src/services/completion/dart_completion_cache.da
import 'package:analysis_server/src/services/completion/dart_completion_manager.dart';
import 'package:analysis_server/src/services/completion/optype.dart';
import 'package:analysis_server/src/services/completion/suggestion_builder.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/generated/ast.dart';
/**
@@ -147,30 +144,6 @@ class _ImportedSuggestionBuilder extends ElementSuggestionBuilder
}
/**
- * Add imported element suggestions.
- */
- void _addElementSuggestions(List<Element> elements,
- {int relevance: DART_RELEVANCE_DEFAULT}) {
- for (Element elem in elements) {
- if (elem is! ClassElement) {
- if (optype.includeOnlyTypeNameSuggestions) {
- return;
- }
- if (elem is ExecutableElement) {
- DartType returnType = elem.returnType;
- if (returnType != null && returnType.isVoid) {
- if (!optype.includeVoidReturnSuggestions) {
- return;
- }
- }
- }
- }
- addSuggestion(elem, relevance: relevance);
- }
- ;
- }
-
- /**
* Add suggestions which start with the given text.
*/
_addFilteredSuggestions(
@@ -193,39 +166,42 @@ class _ImportedSuggestionBuilder extends ElementSuggestionBuilder
* Add suggestions for any inherited imported members.
*/
void _addInheritedSuggestions(AstNode node) {
- var classDecl = node.getAncestor((p) => p is ClassDeclaration);
- if (classDecl is ClassDeclaration && !optype.inStaticMethodBody) {
- // Build a list of inherited types that are imported
- // and include any inherited imported members
- List<String> inheritedTypes = new List<String>();
- // local declarations are handled by the local reference contributor
- visitInheritedTypes(classDecl, importedTypeName: (String typeName) {
- inheritedTypes.add(typeName);
- });
- HashSet<String> visited = new HashSet<String>();
- while (inheritedTypes.length > 0) {
- String name = inheritedTypes.removeLast();
- ClassElement elem = cache.importedClassMap[name];
- if (visited.add(name) && elem != null) {
- _addElementSuggestions(elem.fields,
- relevance: DART_RELEVANCE_INHERITED_FIELD);
- _addElementSuggestions(elem.accessors,
- relevance: DART_RELEVANCE_INHERITED_ACCESSOR);
- _addElementSuggestions(elem.methods,
- relevance: DART_RELEVANCE_INHERITED_METHOD);
- elem.allSupertypes.forEach((InterfaceType type) {
- if (visited.add(type.name) && type.element != null) {
- _addElementSuggestions(type.element.fields,
- relevance: DART_RELEVANCE_INHERITED_FIELD);
- _addElementSuggestions(type.element.accessors,
- relevance: DART_RELEVANCE_INHERITED_ACCESSOR);
- _addElementSuggestions(type.element.methods,
- relevance: DART_RELEVANCE_INHERITED_METHOD);
- }
- });
- }
- }
- }
+ //
+ // Replaced by InheritedReferenceContributor
+ //
+ // var classDecl = node.getAncestor((p) => p is ClassDeclaration);
+ // if (classDecl is ClassDeclaration && !optype.inStaticMethodBody) {
+ // // Build a list of inherited types that are imported
+ // // and include any inherited imported members
+ // List<String> inheritedTypes = new List<String>();
+ // // local declarations are handled by the local reference contributor
+ // visitInheritedTypes(classDecl, importedTypeName: (String typeName) {
+ // inheritedTypes.add(typeName);
+ // });
+ // HashSet<String> visited = new HashSet<String>();
+ // while (inheritedTypes.length > 0) {
+ // String name = inheritedTypes.removeLast();
+ // ClassElement elem = cache.importedClassMap[name];
+ // if (visited.add(name) && elem != null) {
+ // _addElementSuggestions(elem.fields,
+ // relevance: DART_RELEVANCE_INHERITED_FIELD);
+ // _addElementSuggestions(elem.accessors,
+ // relevance: DART_RELEVANCE_INHERITED_ACCESSOR);
+ // _addElementSuggestions(elem.methods,
+ // relevance: DART_RELEVANCE_INHERITED_METHOD);
+ // elem.allSupertypes.forEach((InterfaceType type) {
+ // if (visited.add(type.name) && type.element != null) {
+ // _addElementSuggestions(type.element.fields,
+ // relevance: DART_RELEVANCE_INHERITED_FIELD);
+ // _addElementSuggestions(type.element.accessors,
+ // relevance: DART_RELEVANCE_INHERITED_ACCESSOR);
+ // _addElementSuggestions(type.element.methods,
+ // relevance: DART_RELEVANCE_INHERITED_METHOD);
+ // }
+ // });
+ // }
+ // }
+ // }
}
/**

Powered by Google App Engine
This is Rietveld 408576698