| 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 b2a44531b166bb4b3e98aa6c4bb877ea684a27aa..b664d7bad081d7bc0e531262a943b1e8589a28ed 100644
|
| --- a/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| +++ b/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
|
| @@ -4,7 +4,8 @@
|
|
|
| library services.completion.suggestion.builder;
|
|
|
| -import 'package:analysis_server/src/protocol.dart' hide Element;
|
| +import 'package:analysis_server/src/protocol.dart' as protocol show Element, ElementKind;
|
| +import 'package:analysis_server/src/protocol.dart' hide Element, ElementKind;
|
| import 'package:analysis_server/src/services/completion/dart_completion_manager.dart';
|
| import 'package:analyzer/src/generated/element.dart';
|
|
|
| @@ -36,7 +37,7 @@ class ClassElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| visitFieldElement(FieldElement element) {
|
| _addSuggestion(
|
| element,
|
| - CompletionSuggestionKind.FIELD,
|
| + CompletionSuggestionKind.GETTER,
|
| element.type,
|
| element.enclosingElement);
|
| }
|
| @@ -87,7 +88,7 @@ class ClassElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| !_completions.add(completion)) {
|
| return;
|
| }
|
| - var suggestion = new CompletionSuggestion(
|
| + CompletionSuggestion suggestion = new CompletionSuggestion(
|
| kind,
|
| CompletionRelevance.DEFAULT,
|
| completion,
|
| @@ -95,6 +96,14 @@ class ClassElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| 0,
|
| element.isDeprecated,
|
| false);
|
| + suggestion.element = new protocol.Element.fromEngine(element);
|
| + if (suggestion.element != null) {
|
| + if (element is FieldElement) {
|
| + suggestion.element.kind = protocol.ElementKind.GETTER;
|
| + suggestion.element.returnType =
|
| + element.type != null ? element.type.displayName : 'dynamic';
|
| + }
|
| + }
|
| if (enclosingElement != null) {
|
| suggestion.declaringType = enclosingElement.displayName;
|
| }
|
| @@ -157,15 +166,18 @@ class LibraryElementSuggestionBuilder extends GeneralizingElementVisitor {
|
| if (element != null) {
|
| String completion = element.name;
|
| if (completion != null && completion.length > 0) {
|
| - request.suggestions.add(
|
| - new CompletionSuggestion(
|
| - new CompletionSuggestionKind.fromElementKind(element.kind),
|
| - CompletionRelevance.DEFAULT,
|
| - completion,
|
| - completion.length,
|
| - 0,
|
| - element.isDeprecated,
|
| - false));
|
| + CompletionSuggestion suggestion = new CompletionSuggestion(
|
| + new CompletionSuggestionKind.fromElementKind(element.kind),
|
| + CompletionRelevance.DEFAULT,
|
| + completion,
|
| + completion.length,
|
| + 0,
|
| + element.isDeprecated,
|
| + false);
|
| +
|
| + suggestion.element = new protocol.Element.fromEngine(element);
|
| +
|
| + request.suggestions.add(suggestion);
|
| }
|
| }
|
| }
|
|
|