Chromium Code Reviews| 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 2c5a4e2f1549a58104f8ff58ad14048584a8245e..584855a04a82da0bd6dc5a9d72f4a1436bbcd824 100644 |
| --- a/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart |
| +++ b/pkg/analysis_server/lib/src/services/completion/suggestion_builder.dart |
| @@ -12,6 +12,7 @@ import 'package:analysis_server/src/protocol_server.dart' hide Element, |
| import 'package:analysis_server/src/services/completion/dart_completion_manager.dart'; |
| import 'package:analyzer/src/generated/ast.dart'; |
| import 'package:analyzer/src/generated/element.dart'; |
| +import 'package:analyzer/src/generated/utilities_dart.dart'; |
| /** |
| * Create a suggestion based upon the given imported element. |
| @@ -383,6 +384,17 @@ class _AbstractSuggestionBuilder extends GeneralizingElementVisitor { |
| suggestion.returnType = typeName; |
| } |
| } |
| + if (element is ExecutableElement && element is! PropertyAccessorElement) { |
| + suggestion.parameterNames = element.parameters.map( |
| + (ParameterElement parameter) => parameter.name).toList(); |
| + suggestion.parameterTypes = element.parameters.map( |
| + (ParameterElement parameter) => parameter.type.displayName).toList(); |
|
danrubel
2015/01/06 23:49:36
Can parameter.type ever be null?
Paul Berry
2015/01/07 15:39:14
My belief is that it should never be null, but I w
|
| + suggestion.requiredParameterCount = element.parameters.where( |
| + (ParameterElement parameter) => |
| + parameter.parameterKind == ParameterKind.REQUIRED).length; |
| + suggestion.hasNamedParameters = element.parameters.any( |
| + (ParameterElement parameter) => parameter.parameterKind == ParameterKind.NAMED); |
| + } |
| request.suggestions.add(suggestion); |
| } |
| } |