Skip to content

Commit f8e3820

Browse files
johnniwintherCommit Queue
authored andcommitted
[cfe] Separate TypeInferrer from BodyBuilder
The Resolver now holds the BodyBuilder and TypeInferrer and calls them in succession. This prepares for further separation between the nodes created during body builder and the nodes created after inference. Change-Id: Ia894c99e2e190faf65c0231d9fcbbdbb01306768 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450923 Reviewed-by: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]>
1 parent 5c42bb3 commit f8e3820

22 files changed

+3498
-2956
lines changed

pkg/front_end/lib/src/base/local_scope.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ mixin LocalScopeMixin implements LocalScope {
8585
void _recordUse(String name, int charOffset) {}
8686

8787
@override
88-
// Coverage-ignore(suite): Not run.
8988
void forEachExtension(void Function(ExtensionBuilder) f) {
9089
_parent?.forEachExtension(f);
9190
}
@@ -255,7 +254,6 @@ final class EnclosingLocalScope extends BaseLocalScope
255254
VariableBuilder? lookupLocalVariable(String name) => null;
256255

257256
@override
258-
// Coverage-ignore(suite): Not run.
259257
void forEachExtension(void Function(ExtensionBuilder) f) {
260258
_scope.forEachExtension(f);
261259
}

pkg/front_end/lib/src/base/name_space.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ abstract class ComputedNameSpace implements NameSpace {
2525
/// Returns a filtered iterator of members and setters mapped in this name
2626
/// space.
2727
///
28-
/// Only members of type [T] are included. If [parent] is provided, on members
29-
/// declared in [parent] are included. Duplicates are not included.
28+
/// Only members of type [T] are included. Duplicates are not included.
3029
Iterator<T> filteredIterator<T extends NamedBuilder>();
3130
}
3231

pkg/front_end/lib/src/fragment/constructor/body_builder_context.dart

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5+
import 'package:front_end/src/base/messages.dart';
56
import 'package:kernel/ast.dart';
67
import 'package:kernel/core_types.dart';
78
import 'package:kernel/transformations/flags.dart';
89

10+
import '../../base/compiler_context.dart';
911
import '../../base/constant_context.dart';
1012
import '../../base/identifiers.dart';
1113
import '../../base/local_scope.dart';
1214
import '../../builder/formal_parameter_builder.dart';
1315
import '../../builder/type_builder.dart';
1416
import '../../kernel/body_builder_context.dart';
15-
import '../../kernel/expression_generator_helper.dart';
1617
import '../../source/source_constructor_builder.dart';
1718
import '../../source/source_property_builder.dart';
1819
import '../../type_inference/inference_results.dart';
@@ -101,28 +102,36 @@ class ConstructorBodyBuilderContext extends BodyBuilderContext {
101102
}
102103

103104
@override
104-
void addInitializer(
105+
bool addInitializer(
106+
CompilerContext compilerContext,
107+
ProblemReporting problemReporting,
105108
Initializer initializer,
106-
ExpressionGeneratorHelper helper,
109+
Uri fileUri,
107110
) {
108-
_builder.addInitializer(
111+
return _builder.addInitializer(
112+
compilerContext,
113+
problemReporting,
109114
initializer,
110-
helper,
111115
inferenceResult: null,
112116
parent: _member,
117+
fileUri: fileUri,
113118
);
114119
}
115120

116121
@override
117-
void addInferredInitializer(
122+
bool addInferredInitializer(
123+
CompilerContext compilerContext,
124+
ProblemReporting problemReporting,
118125
InitializerInferenceResult inferenceResult,
119-
ExpressionGeneratorHelper helper,
126+
Uri fileUri,
120127
) {
121-
_builder.addInitializer(
128+
return _builder.addInitializer(
129+
compilerContext,
130+
problemReporting,
122131
inferenceResult.initializer,
123-
helper,
124132
inferenceResult: inferenceResult,
125133
parent: _member,
134+
fileUri: fileUri,
126135
);
127136
}
128137

0 commit comments

Comments
 (0)