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

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

Issue 644473003: combinator suggestion fix and more common tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 2 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/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 d0e86dd8995a0e4ab1c1e07e6ed4f3d45c7c4d38..e09dfec4ea03db759ddcd88f41a1470dcc12d1e1 100644
--- a/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
+++ b/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart
@@ -82,15 +82,14 @@ class ClassElementSuggestionBuilder extends _AbstractSuggestionBuilder {
* the visible members in that library. Clients should call
* [LibraryElementSuggestionBuilder.suggestionsFor].
*/
-class LibraryElementSuggestionBuilder extends GeneralizingElementVisitor {
+class LibraryElementSuggestionBuilder extends _AbstractSuggestionBuilder {
- final DartCompletionRequest request;
-
- LibraryElementSuggestionBuilder(this.request);
+ LibraryElementSuggestionBuilder(DartCompletionRequest request)
+ : super(request);
@override
visitClassElement(ClassElement element) {
- _addSuggestion(element);
+ _addElementSuggestion(element, CompletionSuggestionKind.CLASS, null, null);
}
@override
@@ -104,33 +103,30 @@ class LibraryElementSuggestionBuilder extends GeneralizingElementVisitor {
}
@override
- visitFunctionTypeAliasElement(FunctionTypeAliasElement element) {
- _addSuggestion(element);
+ visitFunctionElement(FunctionElement element) {
+ _addElementSuggestion(
+ element,
+ CompletionSuggestionKind.FUNCTION,
+ element.returnType,
+ null);
}
@override
- visitTopLevelVariableElement(TopLevelVariableElement element) {
- _addSuggestion(element);
+ visitFunctionTypeAliasElement(FunctionTypeAliasElement element) {
+ _addElementSuggestion(
+ element,
+ CompletionSuggestionKind.FUNCTION_TYPE_ALIAS,
+ element.returnType,
+ null);
}
- void _addSuggestion(Element element) {
- if (element != null) {
- String completion = element.name;
- if (completion != null && completion.length > 0) {
- CompletionSuggestion suggestion = new CompletionSuggestion(
- protocol.newCompletionSuggestionKind_fromElementKind(element.kind),
- CompletionRelevance.DEFAULT,
- completion,
- completion.length,
- 0,
- element.isDeprecated,
- false);
-
- suggestion.element = newElement_fromEngine(element);
-
- request.suggestions.add(suggestion);
- }
- }
+ @override
+ visitTopLevelVariableElement(TopLevelVariableElement element) {
+ _addElementSuggestion(
+ element,
+ CompletionSuggestionKind.TOP_LEVEL_VARIABLE,
+ element.type,
+ null);
}
/**

Powered by Google App Engine
This is Rietveld 408576698