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

Unified Diff: pkg/front_end/lib/src/fasta/kernel/kernel_field_builder.dart

Issue 2830313002: Split up TypeInferrer class. (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698