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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/fasta_accessors.dart

Issue 2828253003: Add top level type inference logic for integer literals. (Closed)
Patch Set: Clean up, bug fix, and remove unintentional expectations changes Created 3 years, 8 months 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
OLDNEW
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698