OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 fasta.fasta_accessors; | 5 library fasta.fasta_accessors; |
6 | 6 |
7 import 'package:front_end/src/fasta/kernel/kernel_shadow_ast.dart' | 7 import 'package:front_end/src/fasta/kernel/kernel_shadow_ast.dart' |
8 show | 8 show |
9 KernelArguments, | 9 KernelArguments, |
10 KernelComplexAssignment, | 10 KernelComplexAssignment, |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 @override | 270 @override |
271 Expression buildPostfixIncrement(Name binaryOperator, | 271 Expression buildPostfixIncrement(Name binaryOperator, |
272 {int offset: TreeNode.noOffset, | 272 {int offset: TreeNode.noOffset, |
273 bool voidContext: false, | 273 bool voidContext: false, |
274 Procedure interfaceTarget}) { | 274 Procedure interfaceTarget}) { |
275 return buildError(new KernelArguments(<Expression>[new IntLiteral(1)]), | 275 return buildError(new KernelArguments(<Expression>[new IntLiteral(1)]), |
276 isGetter: true); | 276 isGetter: true); |
277 } | 277 } |
278 | 278 |
279 @override | 279 @override |
280 Expression buildNullAwareAssignment(Expression value, DartType type, | 280 Expression buildNullAwareAssignment( |
| 281 Expression value, DartType type, int offset, |
281 {bool voidContext: false}) { | 282 {bool voidContext: false}) { |
282 return buildError(new KernelArguments(<Expression>[value]), isSetter: true); | 283 return buildError(new KernelArguments(<Expression>[value]), isSetter: true); |
283 } | 284 } |
284 | 285 |
285 @override | 286 @override |
286 Expression buildSimpleRead() => | 287 Expression buildSimpleRead() => |
287 buildError(new Arguments.empty(), isGetter: true); | 288 buildError(new Arguments.empty(), isGetter: true); |
288 | 289 |
289 @override | 290 @override |
290 Expression makeInvalidRead() => | 291 Expression makeInvalidRead() => |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 return helper.buildSuperInitializer(constructor, arguments, offset); | 387 return helper.buildSuperInitializer(constructor, arguments, offset); |
387 } else { | 388 } else { |
388 return helper.buildRedirectingInitializer(constructor, arguments, offset); | 389 return helper.buildRedirectingInitializer(constructor, arguments, offset); |
389 } | 390 } |
390 } | 391 } |
391 | 392 |
392 Expression buildAssignment(Expression value, {bool voidContext: false}) { | 393 Expression buildAssignment(Expression value, {bool voidContext: false}) { |
393 return buildAssignmentError(); | 394 return buildAssignmentError(); |
394 } | 395 } |
395 | 396 |
396 Expression buildNullAwareAssignment(Expression value, DartType type, | 397 Expression buildNullAwareAssignment( |
| 398 Expression value, DartType type, int offset, |
397 {bool voidContext: false}) { | 399 {bool voidContext: false}) { |
398 return buildAssignmentError(); | 400 return buildAssignmentError(); |
399 } | 401 } |
400 | 402 |
401 Expression buildCompoundAssignment(Name binaryOperator, Expression value, | 403 Expression buildCompoundAssignment(Name binaryOperator, Expression value, |
402 {int offset: TreeNode.noOffset, | 404 {int offset: TreeNode.noOffset, |
403 bool voidContext: false, | 405 bool voidContext: false, |
404 Procedure interfaceTarget, | 406 Procedure interfaceTarget, |
405 bool isPreIncDec: false}) { | 407 bool isPreIncDec: false}) { |
406 return buildAssignmentError(); | 408 return buildAssignmentError(); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 } | 499 } |
498 receiver = helper.scopeLookup(prefix.exports, name.name, token, | 500 receiver = helper.scopeLookup(prefix.exports, name.name, token, |
499 isQualified: true, prefix: prefix); | 501 isQualified: true, prefix: prefix); |
500 return helper.finishSend(receiver, arguments, offsetForToken(token)); | 502 return helper.finishSend(receiver, arguments, offsetForToken(token)); |
501 } | 503 } |
502 return helper.buildMethodInvocation( | 504 return helper.buildMethodInvocation( |
503 helper.toValue(receiver), name, arguments, offsetForToken(token), | 505 helper.toValue(receiver), name, arguments, offsetForToken(token), |
504 isNullAware: isNullAware); | 506 isNullAware: isNullAware); |
505 } | 507 } |
506 | 508 |
507 Expression buildNullAwareAssignment(Expression value, DartType type, | 509 Expression buildNullAwareAssignment( |
| 510 Expression value, DartType type, int offset, |
508 {bool voidContext: false}) { | 511 {bool voidContext: false}) { |
509 return internalError("Unhandled"); | 512 return internalError("Unhandled"); |
510 } | 513 } |
511 | 514 |
512 Expression buildCompoundAssignment(Name binaryOperator, Expression value, | 515 Expression buildCompoundAssignment(Name binaryOperator, Expression value, |
513 {int offset, | 516 {int offset, |
514 bool voidContext: false, | 517 bool voidContext: false, |
515 Procedure interfaceTarget, | 518 Procedure interfaceTarget, |
516 bool isPreIncDec: false}) { | 519 bool isPreIncDec: false}) { |
517 return internalError("Unhandled"); | 520 return internalError("Unhandled"); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 "operator.\nTry removing '?'."); | 565 "operator.\nTry removing '?'."); |
563 } | 566 } |
564 return helper.scopeLookup(prefix.exports, name.name, token, | 567 return helper.scopeLookup(prefix.exports, name.name, token, |
565 isQualified: true, prefix: prefix); | 568 isQualified: true, prefix: prefix); |
566 } | 569 } |
567 | 570 |
568 return PropertyAccessor.make( | 571 return PropertyAccessor.make( |
569 helper, token, helper.toValue(receiver), name, null, null, isNullAware); | 572 helper, token, helper.toValue(receiver), name, null, null, isNullAware); |
570 } | 573 } |
571 | 574 |
572 Expression buildNullAwareAssignment(Expression value, DartType type, | 575 Expression buildNullAwareAssignment( |
| 576 Expression value, DartType type, int offset, |
573 {bool voidContext: false}) { | 577 {bool voidContext: false}) { |
574 return internalError("Unhandled"); | 578 return internalError("Unhandled"); |
575 } | 579 } |
576 | 580 |
577 Expression buildCompoundAssignment(Name binaryOperator, Expression value, | 581 Expression buildCompoundAssignment(Name binaryOperator, Expression value, |
578 {int offset, | 582 {int offset, |
579 bool voidContext: false, | 583 bool voidContext: false, |
580 Procedure interfaceTarget, | 584 Procedure interfaceTarget, |
581 bool isPreIncDec: false}) { | 585 bool isPreIncDec: false}) { |
582 return internalError("Unhandled"); | 586 return internalError("Unhandled"); |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 offset ??= offsetForToken(this.token); | 1037 offset ??= offsetForToken(this.token); |
1034 return helper.throwNoSuchMethodError(new NullLiteral()..fileOffset = offset, | 1038 return helper.throwNoSuchMethodError(new NullLiteral()..fileOffset = offset, |
1035 plainNameForRead, arguments, offset, | 1039 plainNameForRead, arguments, offset, |
1036 isGetter: isGetter, isSetter: isSetter); | 1040 isGetter: isGetter, isSetter: isSetter); |
1037 } | 1041 } |
1038 } | 1042 } |
1039 | 1043 |
1040 bool isFieldOrGetter(Member member) { | 1044 bool isFieldOrGetter(Member member) { |
1041 return member is Field || (member is Procedure && member.isGetter); | 1045 return member is Field || (member is Procedure && member.isGetter); |
1042 } | 1046 } |
OLD | NEW |