File tree 2 files changed +9
-6
lines changed
pkg/front_end/lib/src/fasta/kernel
2 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -55,8 +55,11 @@ class KernelFieldBuilder extends FieldBuilder<Expression> {
55
55
field.initializer = value..parent = field;
56
56
}
57
57
58
- bool get isEligibleForInference =>
59
- type == null && (hasInitializer || isInstanceMember);
58
+ bool get isEligibleForInference {
59
+ return ! library.disableTypeInference &&
60
+ type == null &&
61
+ (hasInitializer || isInstanceMember);
62
+ }
60
63
61
64
Field build (LibraryBuilder library) {
62
65
field.name ?? = new Name (name, library.target);
@@ -71,9 +74,7 @@ class KernelFieldBuilder extends FieldBuilder<Expression> {
71
74
..hasImplicitGetter = isInstanceMember
72
75
..hasImplicitSetter = isInstanceMember && ! isConst && ! isFinal
73
76
..isStatic = ! isInstanceMember;
74
- if (! library.disableTypeInference &&
75
- isEligibleForInference &&
76
- ! isInstanceMember) {
77
+ if (isEligibleForInference && ! isInstanceMember) {
77
78
library.loader.typeInferenceEngine
78
79
.recordStaticFieldInferenceCandidate (field, library);
79
80
}
Original file line number Diff line number Diff line change @@ -308,6 +308,7 @@ class KernelProcedureBuilder extends KernelFunctionBuilder {
308
308
}
309
309
310
310
bool get isEligibleForTopLevelInference {
311
+ if (library.disableTypeInference) return false ;
311
312
if (isInstanceMember) {
312
313
if (returnType == null ) return true ;
313
314
if (formals != null ) {
@@ -451,6 +452,7 @@ class KernelConstructorBuilder extends KernelFunctionBuilder {
451
452
}
452
453
453
454
bool get isEligibleForTopLevelInference {
455
+ if (library.disableTypeInference) return false ;
454
456
if (formals != null ) {
455
457
for (var formal in formals) {
456
458
if (formal.type == null && formal.isInitializingFormal) return true ;
@@ -470,7 +472,7 @@ class KernelConstructorBuilder extends KernelFunctionBuilder {
470
472
constructor.isExternal = isExternal;
471
473
constructor.name = new Name (name, library.target);
472
474
}
473
- if (! library.disableTypeInference && isEligibleForTopLevelInference) {
475
+ if (isEligibleForTopLevelInference) {
474
476
for (KernelFormalParameterBuilder formal in formals) {
475
477
if (formal.type == null && formal.isInitializingFormal) {
476
478
formal.declaration.type = null ;
You can’t perform that action at this time.
0 commit comments