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

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

Issue 1506623002: fix combinator contributor (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years 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 unified diff | Download patch
« no previous file with comments | « no previous file | pkg/analysis_server/test/completion_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library services.completion.dart.suggestion.builder; 5 library services.completion.dart.suggestion.builder;
6 6
7 import 'package:analysis_server/src/protocol_server.dart' as protocol; 7 import 'package:analysis_server/src/protocol_server.dart' as protocol;
8 import 'package:analysis_server/src/protocol_server.dart' 8 import 'package:analysis_server/src/protocol_server.dart'
9 hide Element, ElementKind; 9 hide Element, ElementKind;
10 import 'package:analyzer/src/generated/element.dart'; 10 import 'package:analyzer/src/generated/element.dart';
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 suggestion.element = protocol.convertElement(element); 45 suggestion.element = protocol.convertElement(element);
46 Element enclosingElement = element.enclosingElement; 46 Element enclosingElement = element.enclosingElement;
47 if (enclosingElement is ClassElement) { 47 if (enclosingElement is ClassElement) {
48 suggestion.declaringType = enclosingElement.displayName; 48 suggestion.declaringType = enclosingElement.displayName;
49 } 49 }
50 suggestion.returnType = getReturnTypeString(element); 50 suggestion.returnType = getReturnTypeString(element);
51 if (element is ExecutableElement && element is! PropertyAccessorElement) { 51 if (element is ExecutableElement && element is! PropertyAccessorElement) {
52 suggestion.parameterNames = element.parameters 52 suggestion.parameterNames = element.parameters
53 .map((ParameterElement parameter) => parameter.name) 53 .map((ParameterElement parameter) => parameter.name)
54 .toList(); 54 .toList();
55 suggestion.parameterTypes = element.parameters 55 suggestion.parameterTypes =
56 .map((ParameterElement parameter) => parameter.type.displayName) 56 element.parameters.map((ParameterElement parameter) {
57 .toList(); 57 DartType paramType = parameter.type;
58 // Gracefully degrade if type not resolved yet
59 return paramType != null ? paramType.displayName : 'var';
60 }).toList();
58 suggestion.requiredParameterCount = element.parameters 61 suggestion.requiredParameterCount = element.parameters
59 .where((ParameterElement parameter) => 62 .where((ParameterElement parameter) =>
60 parameter.parameterKind == ParameterKind.REQUIRED) 63 parameter.parameterKind == ParameterKind.REQUIRED)
61 .length; 64 .length;
62 suggestion.hasNamedParameters = element.parameters.any( 65 suggestion.hasNamedParameters = element.parameters.any(
63 (ParameterElement parameter) => 66 (ParameterElement parameter) =>
64 parameter.parameterKind == ParameterKind.NAMED); 67 parameter.parameterKind == ParameterKind.NAMED);
65 } 68 }
66 if (importForSource != null) { 69 if (importForSource != null) {
67 String srcPath = path.dirname(importForSource.fullName); 70 String srcPath = path.dirname(importForSource.fullName);
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 CompletionSuggestionKind kind, 253 CompletionSuggestionKind kind,
251 LibraryElement library, 254 LibraryElement library,
252 bool typesOnly, 255 bool typesOnly,
253 bool instCreation) { 256 bool instCreation) {
254 if (library != null) { 257 if (library != null) {
255 library.visitChildren(new LibraryElementSuggestionBuilder( 258 library.visitChildren(new LibraryElementSuggestionBuilder(
256 request, kind, typesOnly, instCreation)); 259 request, kind, typesOnly, instCreation));
257 } 260 }
258 } 261 }
259 } 262 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/test/completion_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698