| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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.contributor.dart.arglist; | 5 library services.completion.contributor.dart.arglist; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/ide_options.dart'; | 9 import 'package:analysis_server/src/ide_options.dart'; |
| 10 import 'package:analysis_server/src/protocol_server.dart' | 10 import 'package:analysis_server/src/protocol_server.dart' |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 if (isFlutterWidget(element.enclosingElement) && | 323 if (isFlutterWidget(element.enclosingElement) && |
| 324 param.name == 'children') { | 324 param.name == 'children') { |
| 325 return getDefaultStringParameterValue(param); | 325 return getDefaultStringParameterValue(param); |
| 326 } | 326 } |
| 327 } | 327 } |
| 328 } | 328 } |
| 329 return null; | 329 return null; |
| 330 } | 330 } |
| 331 | 331 |
| 332 bool _isFollowedByAComma(DartCompletionRequest request) { | 332 bool _isFollowedByAComma(DartCompletionRequest request) { |
| 333 // new A(^); NO |
| 334 // new A(one: 1, ^); NO |
| 335 // new A(^ , one: 1); YES |
| 336 // new A(^), ... NO |
| 337 |
| 338 var containingNode = request.target.containingNode; |
| 333 var entity = request.target.entity; | 339 var entity = request.target.entity; |
| 334 Token token = | 340 Token token = |
| 335 entity is AstNode ? entity.endToken : entity is Token ? entity : null; | 341 entity is AstNode ? entity.endToken : entity is Token ? entity : null; |
| 336 return token?.next?.type == TokenType.COMMA; | 342 return (token != containingNode?.endToken) && |
| 343 token?.next?.type == TokenType.COMMA; |
| 337 } | 344 } |
| 338 | 345 |
| 339 bool _isInFlutterCreation(DartCompletionRequest request) { | 346 bool _isInFlutterCreation(DartCompletionRequest request) { |
| 340 AstNode containingNode = request?.target?.containingNode; | 347 AstNode containingNode = request?.target?.containingNode; |
| 341 InstanceCreationExpression newExpr = containingNode != null | 348 InstanceCreationExpression newExpr = containingNode != null |
| 342 ? identifyNewExpression(containingNode.parent) | 349 ? identifyNewExpression(containingNode.parent) |
| 343 : null; | 350 : null; |
| 344 return newExpr != null && isFlutterInstanceCreationExpression(newExpr); | 351 return newExpr != null && isFlutterInstanceCreationExpression(newExpr); |
| 345 } | 352 } |
| 346 | 353 |
| 347 /** | 354 /** |
| 348 * If the given [comment] is not `null`, fill the [suggestion] documentation | 355 * If the given [comment] is not `null`, fill the [suggestion] documentation |
| 349 * fields. | 356 * fields. |
| 350 */ | 357 */ |
| 351 static void _setDocumentation( | 358 static void _setDocumentation( |
| 352 CompletionSuggestion suggestion, String comment) { | 359 CompletionSuggestion suggestion, String comment) { |
| 353 if (comment != null) { | 360 if (comment != null) { |
| 354 String doc = removeDartDocDelimiters(comment); | 361 String doc = removeDartDocDelimiters(comment); |
| 355 suggestion.docComplete = doc; | 362 suggestion.docComplete = doc; |
| 356 suggestion.docSummary = getDartDocSummary(doc); | 363 suggestion.docSummary = getDartDocSummary(doc); |
| 357 } | 364 } |
| 358 } | 365 } |
| 359 } | 366 } |
| OLD | NEW |