Index: pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart |
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart |
index 40cbe80e12be08140f407d0d4f0e3a202bdab766..e153082cf24af131da18f64636e67cabe1406cd1 100644 |
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart |
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart |
@@ -15,8 +15,8 @@ import 'package:front_end/src/fasta/scanner/token.dart' show Token; |
import 'package:front_end/src/fasta/builder/class_builder.dart' |
show ClassBuilder; |
-import 'package:front_end/src/fasta/type_inference/type_inferrer.dart' |
- show TypeInferrer; |
+import 'package:front_end/src/fasta/type_inference/type_inference_engine.dart' |
+ show TypeInferenceEngine; |
import 'package:kernel/ast.dart' show Expression, Field, Name; |
@@ -30,7 +30,7 @@ import 'kernel_builder.dart' |
class KernelFieldBuilder extends FieldBuilder<Expression> { |
final AstFactory astFactory; |
- final TypeInferrer typeInferrer; |
+ final TypeInferenceEngine typeInferenceEngine; |
final Field field; |
final List<MetadataBuilder> metadata; |
final KernelTypeBuilder type; |
@@ -38,7 +38,7 @@ class KernelFieldBuilder extends FieldBuilder<Expression> { |
KernelFieldBuilder( |
this.astFactory, |
- this.typeInferrer, |
+ this.typeInferenceEngine, |
this.metadata, |
this.type, |
String name, |
@@ -67,7 +67,7 @@ class KernelFieldBuilder extends FieldBuilder<Expression> { |
..hasImplicitSetter = isInstanceMember && !isConst && !isFinal |
..isStatic = !isInstanceMember; |
if (initializerToken != null) { |
- typeInferrer.recordField(field); |
+ typeInferenceEngine.recordField(field); |
} |
return field; |
} |
@@ -75,24 +75,26 @@ class KernelFieldBuilder extends FieldBuilder<Expression> { |
Field get target => field; |
@override |
- void prepareInitializerInference(TypeInferrer typeInferrer, |
+ void prepareInitializerInference(TypeInferenceEngine typeInferenceEngine, |
LibraryBuilder library, ClassBuilder currentClass) { |
if (initializerToken != null) { |
var memberScope = |
currentClass == null ? library.scope : currentClass.scope; |
+ // TODO(paulberry): Is it correct to pass library.uri into BodyBuilder, or |
+ // should it be the part URI? |
var bodyBuilder = new BodyBuilder( |
library, |
this, |
memberScope, |
null, |
- typeInferrer.classHierarchy, |
- typeInferrer.coreTypes, |
+ typeInferenceEngine.classHierarchy, |
+ typeInferenceEngine.coreTypes, |
currentClass, |
isInstanceMember, |
library.uri, |
- typeInferrer, |
+ typeInferenceEngine.createTopLevelTypeInferrer(field), |
astFactory, |
- fieldDependencies: typeInferrer.getFieldDependencies(field)); |
+ fieldDependencies: typeInferenceEngine.getFieldDependencies(field)); |
Parser parser = new Parser(bodyBuilder); |
Token token = parser.parseExpression(initializerToken); |
Expression expression = bodyBuilder.popForValue(); |