| 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 export 'frontend_accessors.dart' show wrapInvalid; | 7 export 'frontend_accessors.dart' show wrapInvalid; |
| 8 | 8 |
| 9 import 'frontend_accessors.dart' show Accessor, buildIsNull, makeLet; | 9 import 'frontend_accessors.dart' show Accessor, buildIsNull, makeLet; |
| 10 | 10 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 Expression buildStaticInvocation(Procedure target, Arguments arguments); | 63 Expression buildStaticInvocation(Procedure target, Arguments arguments); |
| 64 | 64 |
| 65 Expression buildProblemExpression(ProblemBuilder builder, int offset); | 65 Expression buildProblemExpression(ProblemBuilder builder, int offset); |
| 66 | 66 |
| 67 Expression throwNoSuchMethodError( | 67 Expression throwNoSuchMethodError( |
| 68 String name, Arguments arguments, int offset, | 68 String name, Arguments arguments, int offset, |
| 69 {bool isSuper: false, isGetter: false, isSetter: false}); | 69 {bool isSuper: false, isGetter: false, isSetter: false}); |
| 70 | 70 |
| 71 bool checkArguments(FunctionNode function, Arguments arguments, | 71 bool checkArguments(FunctionNode function, Arguments arguments, |
| 72 List<TypeParameter> typeParameters); | 72 List<TypeParameter> typeParameters); |
| 73 |
| 74 StaticGet makeStaticGet(Member readTarget, int offset); |
| 73 } | 75 } |
| 74 | 76 |
| 75 abstract class FastaAccessor implements Accessor { | 77 abstract class FastaAccessor implements Accessor { |
| 76 BuilderHelper get helper; | 78 BuilderHelper get helper; |
| 77 | 79 |
| 78 String get plainNameForRead; | 80 String get plainNameForRead; |
| 79 | 81 |
| 80 Uri get uri => helper.uri; | 82 Uri get uri => helper.uri; |
| 81 | 83 |
| 82 String get plainNameForWrite => plainNameForRead; | 84 String get plainNameForWrite => plainNameForRead; |
| (...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 return isNullAware | 656 return isNullAware |
| 655 ? new NullAwarePropertyAccessor( | 657 ? new NullAwarePropertyAccessor( |
| 656 helper, offset, receiver, name, getter, setter, null) | 658 helper, offset, receiver, name, getter, setter, null) |
| 657 : new PropertyAccessor.internal( | 659 : new PropertyAccessor.internal( |
| 658 helper, offset, receiver, name, getter, setter); | 660 helper, offset, receiver, name, getter, setter); |
| 659 } | 661 } |
| 660 } | 662 } |
| 661 } | 663 } |
| 662 | 664 |
| 663 class StaticAccessor extends kernel.StaticAccessor with FastaAccessor { | 665 class StaticAccessor extends kernel.StaticAccessor with FastaAccessor { |
| 664 final BuilderHelper helper; | 666 StaticAccessor( |
| 665 | 667 BuilderHelper helper, int offset, Member readTarget, Member writeTarget) |
| 666 StaticAccessor(this.helper, int offset, Member readTarget, Member writeTarget) | 668 : super(helper, readTarget, writeTarget, offset) { |
| 667 : super(readTarget, writeTarget, offset) { | |
| 668 assert(readTarget != null || writeTarget != null); | 669 assert(readTarget != null || writeTarget != null); |
| 669 } | 670 } |
| 670 | 671 |
| 671 factory StaticAccessor.fromBuilder(BuilderHelper helper, Builder builder, | 672 factory StaticAccessor.fromBuilder(BuilderHelper helper, Builder builder, |
| 672 int offset, Builder builderSetter) { | 673 int offset, Builder builderSetter) { |
| 673 if (builder is AccessErrorBuilder) { | 674 if (builder is AccessErrorBuilder) { |
| 674 AccessErrorBuilder error = builder; | 675 AccessErrorBuilder error = builder; |
| 675 builder = error.builder; | 676 builder = error.builder; |
| 676 // We should only see an access error here if we've looked up a setter | 677 // We should only see an access error here if we've looked up a setter |
| 677 // when not explicitly looking for a setter. | 678 // when not explicitly looking for a setter. |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 new ConditionalExpression( | 892 new ConditionalExpression( |
| 892 buildIsNull(new VariableGet(variable)), | 893 buildIsNull(new VariableGet(variable)), |
| 893 new NullLiteral(), | 894 new NullLiteral(), |
| 894 new MethodInvocation(new VariableGet(variable), name, arguments) | 895 new MethodInvocation(new VariableGet(variable), name, arguments) |
| 895 ..fileOffset = offset, | 896 ..fileOffset = offset, |
| 896 const DynamicType())); | 897 const DynamicType())); |
| 897 } else { | 898 } else { |
| 898 return new MethodInvocation(receiver, name, arguments)..fileOffset = offset; | 899 return new MethodInvocation(receiver, name, arguments)..fileOffset = offset; |
| 899 } | 900 } |
| 900 } | 901 } |
| OLD | NEW |