| Index: pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| diff --git a/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart b/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| index c1f2a991a32cc4e802cbfd781ac98d22dc730128..fa8f22e6692e44c64f4521f69c2870dd217ebec3 100644
|
| --- a/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| +++ b/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| @@ -15,12 +15,16 @@ import 'package:analyzer/src/generated/element.dart';
|
| */
|
| class ClassElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| final DartCompletionRequest request;
|
| + final Set<String> _completions = new Set<String>();
|
|
|
| ClassElementSuggestionBuilder(this.request);
|
|
|
| @override
|
| visitClassElement(ClassElement element) {
|
| element.visitChildren(this);
|
| + element.allSupertypes.forEach((InterfaceType type) {
|
| + type.element.visitChildren(this);
|
| + });
|
| }
|
|
|
| @override
|
| @@ -61,7 +65,9 @@ class ClassElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| }
|
| }
|
| String completion = element.displayName;
|
| - if (completion == null || completion.length <= 0) {
|
| + if (completion == null ||
|
| + completion.length <= 0 ||
|
| + !_completions.add(completion)) {
|
| return;
|
| }
|
| request.suggestions.add(
|
|
|