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

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

Issue 791553007: suggest fields rather than synthetic getters (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 5 years, 11 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/local_computer.dart
diff --git a/pkg/analysis_server/lib/src/services/completion/local_computer.dart b/pkg/analysis_server/lib/src/services/completion/local_computer.dart
index bc8cf39cd5b927a9002eb43dadb2c0dfa47cd3c5..1f5d67af5b48efb2746deb35eb8d81adbddf12e9 100644
--- a/pkg/analysis_server/lib/src/services/completion/local_computer.dart
+++ b/pkg/analysis_server/lib/src/services/completion/local_computer.dart
@@ -190,13 +190,13 @@ class _LocalVisitor extends LocalDeclarationVisitor {
void declaredClass(ClassDeclaration declaration) {
bool isDeprecated = _isDeprecated(declaration);
CompletionSuggestion suggestion =
- _addSuggestion(declaration.name, null, null, isDeprecated);
+ _addSuggestion(declaration.name, NO_RETURN_TYPE, null, isDeprecated);
if (suggestion != null) {
suggestion.element = _createElement(
protocol.ElementKind.CLASS,
declaration.name,
null,
- _LocalVisitor.NO_RETURN_TYPE,
+ NO_RETURN_TYPE,
declaration.isAbstract,
isDeprecated);
}
@@ -206,7 +206,7 @@ class _LocalVisitor extends LocalDeclarationVisitor {
void declaredClassTypeAlias(ClassTypeAlias declaration) {
bool isDeprecated = _isDeprecated(declaration);
CompletionSuggestion suggestion =
- _addSuggestion(declaration.name, null, null, isDeprecated);
+ _addSuggestion(declaration.name, NO_RETURN_TYPE, null, isDeprecated);
if (suggestion != null) {
suggestion.element = _createElement(
protocol.ElementKind.CLASS_TYPE_ALIAS,
@@ -224,14 +224,15 @@ class _LocalVisitor extends LocalDeclarationVisitor {
return;
}
bool isDeprecated = _isDeprecated(fieldDecl) || _isDeprecated(varDecl);
+ TypeName type = fieldDecl.fields.type;
CompletionSuggestion suggestion =
- _addSuggestion(varDecl.name, null, fieldDecl.parent, isDeprecated);
+ _addSuggestion(varDecl.name, type, fieldDecl.parent, isDeprecated);
if (suggestion != null) {
suggestion.element = _createElement(
protocol.ElementKind.FIELD,
varDecl.name,
null,
- null,
+ type,
false,
isDeprecated);
}
@@ -242,27 +243,32 @@ class _LocalVisitor extends LocalDeclarationVisitor {
if (typesOnly) {
return;
}
- if (excludeVoidReturn && _isVoid(declaration.returnType)) {
- return;
- }
+ TypeName returnType = declaration.returnType;
bool isDeprecated = _isDeprecated(declaration);
+ protocol.ElementKind kind;
+ if (declaration.isGetter) {
+ kind = protocol.ElementKind.GETTER;
+ } else if (declaration.isSetter) {
+ if (excludeVoidReturn) {
+ return;
+ }
+ kind = protocol.ElementKind.SETTER;
+ returnType = NO_RETURN_TYPE;
+ } else {
+ if (excludeVoidReturn && _isVoid(returnType)) {
+ return;
+ }
+ kind = protocol.ElementKind.FUNCTION;
+ }
CompletionSuggestion suggestion =
- _addSuggestion(declaration.name, declaration.returnType, null, isDeprecated);
+ _addSuggestion(declaration.name, returnType, null, isDeprecated);
if (suggestion != null) {
FormalParameterList param = declaration.functionExpression.parameters;
- protocol.ElementKind kind;
- if (declaration.isGetter) {
- kind = protocol.ElementKind.GETTER;
- } else if (declaration.isSetter) {
- kind = protocol.ElementKind.SETTER;
- } else {
- kind = protocol.ElementKind.FUNCTION;
- }
suggestion.element = _createElement(
kind,
declaration.name,
param != null ? param.toSource() : null,
- declaration.returnType,
+ returnType,
false,
isDeprecated);
}
@@ -271,15 +277,16 @@ class _LocalVisitor extends LocalDeclarationVisitor {
@override
void declaredFunctionTypeAlias(FunctionTypeAlias declaration) {
bool isDeprecated = _isDeprecated(declaration);
+ TypeName returnType = declaration.returnType;
CompletionSuggestion suggestion =
- _addSuggestion(declaration.name, declaration.returnType, null, isDeprecated);
+ _addSuggestion(declaration.name, returnType, null, isDeprecated);
if (suggestion != null) {
// TODO (danrubel) determine parameters and return type
suggestion.element = _createElement(
protocol.ElementKind.FUNCTION_TYPE_ALIAS,
declaration.name,
null,
- NO_RETURN_TYPE,
+ returnType,
true,
isDeprecated);
}
@@ -323,7 +330,7 @@ class _LocalVisitor extends LocalDeclarationVisitor {
return;
}
kind = protocol.ElementKind.SETTER;
- returnType = null;
+ returnType = NO_RETURN_TYPE;
} else {
if (excludeVoidReturn && _isVoid(returnType)) {
return;
@@ -389,7 +396,8 @@ class _LocalVisitor extends LocalDeclarationVisitor {
completion.length,
0,
false,
- false);
+ false,
+ returnType: _nameForType(returnType));
if (classDecl != null) {
SimpleIdentifier identifier = classDecl.name;
if (identifier != null) {
@@ -399,15 +407,6 @@ class _LocalVisitor extends LocalDeclarationVisitor {
}
}
}
- if (returnType != null) {
- Identifier identifier = returnType.name;
- if (identifier != null) {
- String name = identifier.name;
- if (name != null && name.length > 0) {
- suggestion.returnType = name;
- }
- }
- }
request.suggestions.add(suggestion);
return suggestion;
}

Powered by Google App Engine
This is Rietveld 408576698