| 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.builder_accessors; | 5 library fasta.builder_accessors; |
| 6 | 6 |
| 7 export 'frontend_accessors.dart' show | 7 export 'frontend_accessors.dart' show |
| 8 wrapInvalid; | 8 wrapInvalid; |
| 9 | 9 |
| 10 import 'frontend_accessors.dart' show | 10 import 'frontend_accessors.dart' show |
| 11 Accessor; | 11 Accessor; |
| 12 | 12 |
| 13 import 'package:kernel/ast.dart'; | 13 import 'package:kernel/ast.dart'; |
| 14 | 14 |
| 15 import 'package:kernel/core_types.dart' show | 15 import 'package:kernel/core_types.dart' show |
| 16 CoreTypes; | 16 CoreTypes; |
| 17 | 17 |
| 18 import '../errors.dart' show | 18 import '../errors.dart' show |
| 19 InputError, | 19 InputError, |
| 20 internalError; | 20 internalError; |
| 21 | 21 |
| 22 import 'frontend_accessors.dart' as kernel show | 22 import 'frontend_accessors.dart' as kernel show |
| 23 IndexAccessor, | 23 IndexAccessor, |
| 24 NullAwarePropertyAccessor, | 24 NullAwarePropertyAccessor, |
| 25 PropertyAccessor, | 25 PropertyAccessor, |
| 26 StaticAccessor, | 26 StaticAccessor, |
| 27 SuperIndexAccessor, |
| 27 SuperPropertyAccessor, | 28 SuperPropertyAccessor, |
| 28 ThisIndexAccessor, | 29 ThisIndexAccessor, |
| 29 ThisPropertyAccessor, | 30 ThisPropertyAccessor, |
| 30 VariableAccessor; | 31 VariableAccessor; |
| 31 | 32 |
| 32 import 'frontend_accessors.dart' show | 33 import 'frontend_accessors.dart' show |
| 33 buildIsNull, | 34 buildIsNull, |
| 34 makeLet; | 35 makeLet; |
| 35 | 36 |
| 36 import 'kernel_builder.dart' show | 37 import 'kernel_builder.dart' show |
| (...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 String get plainNameForWrite => "[]="; | 618 String get plainNameForWrite => "[]="; |
| 618 | 619 |
| 619 Expression doInvocation(int charOffset, Arguments arguments) { | 620 Expression doInvocation(int charOffset, Arguments arguments) { |
| 620 return buildMethodInvocation(buildSimpleRead(), new Name("call"), arguments, | 621 return buildMethodInvocation(buildSimpleRead(), new Name("call"), arguments, |
| 621 charOffset); | 622 charOffset); |
| 622 } | 623 } |
| 623 | 624 |
| 624 toString() => "ThisIndexAccessor()"; | 625 toString() => "ThisIndexAccessor()"; |
| 625 } | 626 } |
| 626 | 627 |
| 628 class SuperIndexAccessor |
| 629 extends kernel.SuperIndexAccessor with BuilderAccessor { |
| 630 final BuilderHelper helper; |
| 631 |
| 632 final int charOffset; |
| 633 |
| 634 SuperIndexAccessor(this.helper, this.charOffset, Expression index, |
| 635 Member getter, Member setter) |
| 636 : super(index, getter, setter); |
| 637 |
| 638 String get plainNameForRead => "[]"; |
| 639 |
| 640 String get plainNameForWrite => "[]="; |
| 641 |
| 642 Expression doInvocation(int charOffset, Arguments arguments) { |
| 643 return buildMethodInvocation(buildSimpleRead(), new Name("call"), arguments, |
| 644 charOffset); |
| 645 } |
| 646 |
| 647 toString() => "SuperIndexAccessor()"; |
| 648 } |
| 649 |
| 627 class ThisPropertyAccessor extends kernel.ThisPropertyAccessor | 650 class ThisPropertyAccessor extends kernel.ThisPropertyAccessor |
| 628 with BuilderAccessor { | 651 with BuilderAccessor { |
| 629 final BuilderHelper helper; | 652 final BuilderHelper helper; |
| 630 | 653 |
| 631 final int charOffset; | 654 final int charOffset; |
| 632 | 655 |
| 633 ThisPropertyAccessor(this.helper, this.charOffset, Name name, Member getter, | 656 ThisPropertyAccessor(this.helper, this.charOffset, Name name, Member getter, |
| 634 Member setter) | 657 Member setter) |
| 635 : super(name, getter, setter); | 658 : super(name, getter, setter); |
| 636 | 659 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 buildIsNull(new VariableGet(variable)), | 747 buildIsNull(new VariableGet(variable)), |
| 725 new NullLiteral(), | 748 new NullLiteral(), |
| 726 new MethodInvocation(new VariableGet(variable), name, arguments) | 749 new MethodInvocation(new VariableGet(variable), name, arguments) |
| 727 ..fileOffset = charOffset, | 750 ..fileOffset = charOffset, |
| 728 const DynamicType())); | 751 const DynamicType())); |
| 729 } else { | 752 } else { |
| 730 return new MethodInvocation(receiver, name, arguments) | 753 return new MethodInvocation(receiver, name, arguments) |
| 731 ..fileOffset = charOffset; | 754 ..fileOffset = charOffset; |
| 732 } | 755 } |
| 733 } | 756 } |
| OLD | NEW |