Index: pkg/analysis_server/lib/src/services/completion/local_reference_contributor.dart |
diff --git a/pkg/analysis_server/lib/src/services/completion/local_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/local_reference_contributor.dart |
index 598a58a4dba08eaaca844b216ef807971d849bdd..356f35e6416e1b7605a19327077cd84b88a66ff1 100644 |
--- a/pkg/analysis_server/lib/src/services/completion/local_reference_contributor.dart |
+++ b/pkg/analysis_server/lib/src/services/completion/local_reference_contributor.dart |
@@ -357,48 +357,28 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
@override |
void declaredClass(ClassDeclaration declaration) { |
if (optype.includeTypeNameSuggestions) { |
- bool deprecated = isDeprecated(declaration); |
- CompletionSuggestion suggestion = _addSuggestion( |
- declaration.name, NO_RETURN_TYPE, deprecated, DART_RELEVANCE_DEFAULT); |
- if (suggestion != null) { |
- suggestion.element = createElement( |
- protocol.ElementKind.CLASS, declaration.name, |
- returnType: NO_RETURN_TYPE, |
- isAbstract: declaration.isAbstract, |
- isDeprecated: deprecated); |
- } |
+ _addSuggestion( |
+ declaration.name, NO_RETURN_TYPE, protocol.ElementKind.CLASS, |
+ isAbstract: declaration.isAbstract, |
+ isDeprecated: isDeprecated(declaration)); |
} |
} |
@override |
void declaredClassTypeAlias(ClassTypeAlias declaration) { |
if (optype.includeTypeNameSuggestions) { |
- bool deprecated = isDeprecated(declaration); |
- CompletionSuggestion suggestion = _addSuggestion( |
- declaration.name, NO_RETURN_TYPE, deprecated, DART_RELEVANCE_DEFAULT); |
- if (suggestion != null) { |
- suggestion.element = createElement( |
- protocol.ElementKind.CLASS_TYPE_ALIAS, declaration.name, |
- returnType: NO_RETURN_TYPE, |
- isAbstract: true, |
- isDeprecated: deprecated); |
- } |
+ _addSuggestion(declaration.name, NO_RETURN_TYPE, |
+ protocol.ElementKind.CLASS_TYPE_ALIAS, |
+ isAbstract: true, isDeprecated: isDeprecated(declaration)); |
} |
} |
@override |
void declaredEnum(EnumDeclaration declaration) { |
- SimpleIdentifier enumId = declaration.name; |
- if (enumId != null) { |
- bool deprecated = isDeprecated(declaration); |
- if (optype.includeTypeNameSuggestions) { |
- CompletionSuggestion suggestion = _addSuggestion( |
- enumId, NO_RETURN_TYPE, deprecated, DART_RELEVANCE_DEFAULT); |
- if (suggestion != null) { |
- suggestion.element = createElement(protocol.ElementKind.ENUM, enumId, |
- returnType: NO_RETURN_TYPE, isDeprecated: deprecated); |
- } |
- } |
+ SimpleIdentifier id = declaration.name; |
Paul Berry
2015/06/04 18:09:04
For consistency with the functions above, inline t
danrubel
2015/06/04 18:17:16
Good catch. Done.
|
+ if (optype.includeTypeNameSuggestions) { |
+ _addSuggestion(id, NO_RETURN_TYPE, protocol.ElementKind.ENUM, |
+ isDeprecated: isDeprecated(declaration)); |
} |
} |
@@ -417,56 +397,40 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
void declaredFunction(FunctionDeclaration declaration) { |
if (optype.includeReturnValueSuggestions || |
optype.includeVoidReturnSuggestions) { |
- TypeName returnType = declaration.returnType; |
- bool deprecated = isDeprecated(declaration); |
- protocol.ElementKind kind; |
- int defaultRelevance = DART_RELEVANCE_DEFAULT; |
+ TypeName typeName = declaration.returnType; |
+ protocol.ElementKind elemKind; |
+ int relevance = DART_RELEVANCE_DEFAULT; |
if (declaration.isGetter) { |
- kind = protocol.ElementKind.GETTER; |
- defaultRelevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
+ elemKind = protocol.ElementKind.GETTER; |
+ relevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
} else if (declaration.isSetter) { |
if (!optype.includeVoidReturnSuggestions) { |
return; |
} |
- kind = protocol.ElementKind.SETTER; |
- returnType = NO_RETURN_TYPE; |
- defaultRelevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
+ elemKind = protocol.ElementKind.SETTER; |
+ typeName = NO_RETURN_TYPE; |
+ relevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
} else { |
- if (!optype.includeVoidReturnSuggestions && _isVoid(returnType)) { |
+ if (!optype.includeVoidReturnSuggestions && _isVoid(typeName)) { |
return; |
} |
- kind = protocol.ElementKind.FUNCTION; |
- defaultRelevance = DART_RELEVANCE_LOCAL_FUNCTION; |
- } |
- CompletionSuggestion suggestion = _addSuggestion( |
- declaration.name, returnType, deprecated, defaultRelevance); |
- if (suggestion != null) { |
- FormalParameterList param = declaration.functionExpression.parameters; |
- suggestion.element = createElement(kind, declaration.name, |
- parameters: param != null ? param.toSource() : null, |
- returnType: returnType, |
- isDeprecated: deprecated); |
- if (kind == protocol.ElementKind.FUNCTION) { |
- _addParameterInfo( |
- suggestion, declaration.functionExpression.parameters); |
- } |
+ elemKind = protocol.ElementKind.FUNCTION; |
+ relevance = DART_RELEVANCE_LOCAL_FUNCTION; |
} |
+ _addSuggestion(declaration.name, typeName, elemKind, |
+ isDeprecated: isDeprecated(declaration), |
+ param: declaration.functionExpression.parameters, |
+ relevance: relevance); |
} |
} |
@override |
void declaredFunctionTypeAlias(FunctionTypeAlias declaration) { |
if (optype.includeTypeNameSuggestions) { |
- bool deprecated = isDeprecated(declaration); |
- TypeName returnType = declaration.returnType; |
- CompletionSuggestion suggestion = _addSuggestion( |
- declaration.name, returnType, deprecated, DART_RELEVANCE_DEFAULT); |
- if (suggestion != null) { |
- // TODO (danrubel) determine parameters and return type |
- suggestion.element = createElement( |
- protocol.ElementKind.FUNCTION_TYPE_ALIAS, declaration.name, |
- returnType: returnType, isAbstract: true, isDeprecated: deprecated); |
- } |
+ // TODO (danrubel) determine parameters and return type |
+ _addSuggestion(declaration.name, declaration.returnType, |
+ protocol.ElementKind.FUNCTION_TYPE_ALIAS, |
+ isAbstract: true, isDeprecated: isDeprecated(declaration)); |
} |
} |
@@ -476,14 +440,10 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
} |
@override |
- void declaredLocalVar(SimpleIdentifier name, TypeName type) { |
+ void declaredLocalVar(SimpleIdentifier id, TypeName typeName) { |
if (optype.includeReturnValueSuggestions) { |
- CompletionSuggestion suggestion = |
- _addSuggestion(name, type, false, DART_RELEVANCE_LOCAL_VARIABLE); |
- if (suggestion != null) { |
- suggestion.element = createElement( |
- protocol.ElementKind.LOCAL_VARIABLE, name, returnType: type); |
- } |
+ _addSuggestion(id, typeName, protocol.ElementKind.LOCAL_VARIABLE, |
+ relevance: DART_RELEVANCE_LOCAL_VARIABLE); |
} |
} |
@@ -491,55 +451,43 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
void declaredMethod(MethodDeclaration declaration) { |
if (optype.includeReturnValueSuggestions || |
optype.includeVoidReturnSuggestions) { |
- protocol.ElementKind kind; |
- String parameters; |
- TypeName returnType = declaration.returnType; |
- int defaultRelevance = DART_RELEVANCE_DEFAULT; |
+ protocol.ElementKind elemKind; |
+ FormalParameterList param; |
+ TypeName typeName = declaration.returnType; |
+ int relevance = DART_RELEVANCE_DEFAULT; |
if (declaration.isGetter) { |
- kind = protocol.ElementKind.GETTER; |
- parameters = null; |
- defaultRelevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
+ elemKind = protocol.ElementKind.GETTER; |
+ param = null; |
+ relevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
} else if (declaration.isSetter) { |
if (!optype.includeVoidReturnSuggestions) { |
return; |
} |
- kind = protocol.ElementKind.SETTER; |
- returnType = NO_RETURN_TYPE; |
- defaultRelevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
+ elemKind = protocol.ElementKind.SETTER; |
+ typeName = NO_RETURN_TYPE; |
+ relevance = DART_RELEVANCE_LOCAL_ACCESSOR; |
} else { |
- if (!optype.includeVoidReturnSuggestions && _isVoid(returnType)) { |
+ if (!optype.includeVoidReturnSuggestions && _isVoid(typeName)) { |
return; |
} |
- kind = protocol.ElementKind.METHOD; |
- parameters = declaration.parameters.toSource(); |
- defaultRelevance = DART_RELEVANCE_LOCAL_METHOD; |
- } |
- bool deprecated = isDeprecated(declaration); |
- CompletionSuggestion suggestion = _addSuggestion( |
- declaration.name, returnType, deprecated, defaultRelevance, |
- classDecl: declaration.parent); |
- if (suggestion != null) { |
- suggestion.element = createElement(kind, declaration.name, |
- parameters: parameters, |
- returnType: returnType, |
- isAbstract: declaration.isAbstract, |
- isDeprecated: deprecated); |
- if (kind == protocol.ElementKind.METHOD) { |
- _addParameterInfo(suggestion, declaration.parameters); |
- } |
+ elemKind = protocol.ElementKind.METHOD; |
+ param = declaration.parameters; |
+ relevance = DART_RELEVANCE_LOCAL_METHOD; |
} |
+ _addSuggestion(declaration.name, typeName, elemKind, |
+ isAbstract: declaration.isAbstract, |
+ isDeprecated: isDeprecated(declaration), |
+ classDecl: declaration.parent, |
+ param: param, |
+ relevance: relevance); |
} |
} |
@override |
- void declaredParam(SimpleIdentifier name, TypeName type) { |
+ void declaredParam(SimpleIdentifier id, TypeName typeName) { |
if (optype.includeReturnValueSuggestions) { |
- CompletionSuggestion suggestion = |
- _addSuggestion(name, type, false, DART_RELEVANCE_PARAMETER); |
- if (suggestion != null) { |
- suggestion.element = createElement(protocol.ElementKind.PARAMETER, name, |
- returnType: type); |
- } |
+ _addSuggestion(id, typeName, protocol.ElementKind.PARAMETER, |
+ relevance: DART_RELEVANCE_PARAMETER); |
} |
} |
@@ -547,14 +495,10 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
void declaredTopLevelVar( |
VariableDeclarationList varList, VariableDeclaration varDecl) { |
if (optype.includeReturnValueSuggestions) { |
- bool deprecated = isDeprecated(varList) || isDeprecated(varDecl); |
- CompletionSuggestion suggestion = _addSuggestion(varDecl.name, |
- varList.type, deprecated, DART_RELEVANCE_LOCAL_TOP_LEVEL_VARIABLE); |
- if (suggestion != null) { |
- suggestion.element = createElement( |
- protocol.ElementKind.TOP_LEVEL_VARIABLE, varDecl.name, |
- returnType: varList.type, isDeprecated: deprecated); |
- } |
+ _addSuggestion( |
+ varDecl.name, varList.type, protocol.ElementKind.TOP_LEVEL_VARIABLE, |
+ isDeprecated: isDeprecated(varList) || isDeprecated(varDecl), |
+ relevance: DART_RELEVANCE_LOCAL_TOP_LEVEL_VARIABLE); |
} |
} |
@@ -594,14 +538,26 @@ class _LocalVisitor extends LocalDeclarationVisitor { |
.any((FormalParameter param) => param.kind == ParameterKind.NAMED); |
} |
- CompletionSuggestion _addSuggestion(SimpleIdentifier id, TypeName returnType, |
- bool isDeprecated, int defaultRelevance, {ClassDeclaration classDecl}) { |
+ void _addSuggestion( |
+ SimpleIdentifier id, TypeName typeName, protocol.ElementKind elemKind, |
+ {bool isAbstract: false, bool isDeprecated: false, |
+ ClassDeclaration classDecl, FormalParameterList param, |
+ int relevance: DART_RELEVANCE_DEFAULT}) { |
CompletionSuggestion suggestion = createSuggestion( |
- id, isDeprecated, defaultRelevance, returnType, classDecl: classDecl); |
+ id, isDeprecated, relevance, typeName, classDecl: classDecl); |
if (suggestion != null) { |
request.addSuggestion(suggestion); |
+ suggestion.element = createElement(elemKind, id, |
+ isAbstract: isAbstract, |
+ isDeprecated: isDeprecated, |
+ parameters: param != null ? param.toSource() : null, |
+ returnType: typeName); |
+ if ((elemKind == protocol.ElementKind.METHOD || |
+ elemKind == protocol.ElementKind.FUNCTION) && |
+ param != null) { |
+ _addParameterInfo(suggestion, param); |
+ } |
} |
- return suggestion; |
} |
bool _isVoid(TypeName returnType) { |