Version 2.17.0-226.0.dev
Merge commit 'ca63302b92676c640a5b16d457775d6e20cb7735' into 'dev'
diff --git a/pkg/front_end/lib/src/fasta/builder/extension_builder.dart b/pkg/front_end/lib/src/fasta/builder/extension_builder.dart
index 2e9538c..93079f4 100644
--- a/pkg/front_end/lib/src/fasta/builder/extension_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/extension_builder.dart
@@ -3,16 +3,12 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:kernel/ast.dart';
-import 'package:kernel/class_hierarchy.dart';
import '../fasta_codes.dart'
show templateInternalProblemNotFoundIn, templateTypeArgumentMismatch;
-import '../kernel/kernel_helper.dart';
+import '../problems.dart';
import '../scope.dart';
import '../source/source_library_builder.dart';
-import '../problems.dart';
-import '../util/helpers.dart';
-
import 'builder.dart';
import 'declaration_builder.dart';
import 'field_builder.dart';
@@ -35,12 +31,6 @@
/// Return the [Extension] built by this builder.
Extension get extension;
- void buildOutlineExpressions(
- SourceLibraryBuilder library,
- ClassHierarchy classHierarchy,
- List<DelayedActionPerformer> delayedActionPerformers,
- List<DelayedDefaultValueCloner> delayedDefaultValueCloners);
-
/// Looks up extension member by [name] taking privacy into account.
///
/// If [setter] is `true` the sought member is a setter or assignable field.
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_extension_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_extension_builder.dart
index 8afa7d7..4307510 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_extension_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_extension_builder.dart
@@ -3,20 +3,13 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:kernel/ast.dart';
-import 'package:kernel/class_hierarchy.dart';
import '../builder/extension_builder.dart';
import '../builder/library_builder.dart';
import '../builder/member_builder.dart';
import '../builder/type_builder.dart';
import '../builder/type_variable_builder.dart';
-
-import '../kernel/kernel_helper.dart';
-
import '../scope.dart';
-
-import '../util/helpers.dart';
-
import 'dill_class_builder.dart';
import 'dill_extension_member_builder.dart';
@@ -111,13 +104,4 @@
return _onType ??=
libraryBuilder.loader.computeTypeBuilder(extension.onType);
}
-
- @override
- void buildOutlineExpressions(
- LibraryBuilder library,
- ClassHierarchy classHierarchy,
- List<DelayedActionPerformer> delayedActionPerformers,
- List<DelayedDefaultValueCloner> delayedDefaultValues) {
- // TODO(johnniwinther): Remove the need for this.
- }
}
diff --git a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
index 860b25a..8294c53 100644
--- a/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/implicit_field_type.dart
@@ -133,8 +133,8 @@
return inferredType!;
} else if (parent is SourceEnumBuilder &&
parent.elementBuilders.contains(fieldBuilder)) {
- inferredType = parent.buildElement(parent.libraryBuilder, fieldBuilder,
- parent.libraryBuilder.loader.coreTypes);
+ inferredType = parent.buildElement(
+ fieldBuilder, parent.libraryBuilder.loader.coreTypes);
} else if (initializerToken != null) {
InterfaceType? enclosingClassThisType = fieldBuilder.classBuilder == null
? null
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index efad1ae..a502c03 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -1138,7 +1138,7 @@
// outline for const constructors, and additionally it is required for
// a potential subclass using super initializing parameters that will
// required the cloning of the default values.
- origin: superConstructorBuilder,
+ definingConstructor: superConstructorBuilder,
delayedDefaultValueCloner: delayedDefaultValueCloner);
}
diff --git a/pkg/front_end/lib/src/fasta/scope.dart b/pkg/front_end/lib/src/fasta/scope.dart
index c0e106f..f78f458 100644
--- a/pkg/front_end/lib/src/fasta/scope.dart
+++ b/pkg/front_end/lib/src/fasta/scope.dart
@@ -815,7 +815,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
@@ -824,8 +823,7 @@
}
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
assert(false, "Unexpected call to $runtimeType.buildMembers.");
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
index 808f0a0..84ed77e 100644
--- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
@@ -155,8 +155,8 @@
SourceLibraryBuilder get libraryBuilder =>
super.libraryBuilder as SourceLibraryBuilder;
- Class build(SourceLibraryBuilder library, LibraryBuilder coreLibrary) {
- SourceLibraryBuilder.checkMemberConflicts(library, scope,
+ Class build(LibraryBuilder coreLibrary) {
+ SourceLibraryBuilder.checkMemberConflicts(libraryBuilder, scope,
// These checks are performed as part of the class hierarchy
// computation.
checkForInstanceVsStaticConflict: false,
@@ -179,8 +179,8 @@
}
} else if (declaration is SourceMemberBuilder) {
SourceMemberBuilder memberBuilder = declaration;
- memberBuilder.buildMembers(library,
- (Member member, BuiltMemberKind memberKind) {
+ memberBuilder
+ .buildMembers((Member member, BuiltMemberKind memberKind) {
member.parent = cls;
if (!memberBuilder.isPatch &&
!memberBuilder.isDuplicate &&
@@ -214,12 +214,12 @@
supertypeBuilder = _checkSupertype(supertypeBuilder!);
}
Supertype? supertype =
- supertypeBuilder?.buildSupertype(library, charOffset, fileUri);
+ supertypeBuilder?.buildSupertype(libraryBuilder, charOffset, fileUri);
if (supertype != null) {
Class superclass = supertype.classNode;
if (superclass.name == 'Function' &&
superclass.enclosingLibrary == coreLibrary.library) {
- library.addProblem(
+ libraryBuilder.addProblem(
messageExtendFunction, charOffset, noLength, fileUri);
supertype = null;
supertypeBuilder = null;
@@ -232,7 +232,7 @@
// cannot be extended. However, a mixin declaration with a single
// superclass constraint is encoded with the constraint as the supertype,
// and that is allowed to be a mixin's interface.
- library.addProblem(
+ libraryBuilder.addProblem(
templateSupertypeIsIllegal.withArguments(actualCls.superclass!.name),
charOffset,
noLength,
@@ -247,10 +247,11 @@
if (mixedInTypeBuilder != null) {
mixedInTypeBuilder = _checkSupertype(mixedInTypeBuilder!);
}
- Supertype? mixedInType =
- mixedInTypeBuilder?.buildMixedInType(library, charOffset, fileUri);
+ Supertype? mixedInType = mixedInTypeBuilder?.buildMixedInType(
+ libraryBuilder, charOffset, fileUri);
if (_isFunction(mixedInType, coreLibrary)) {
- library.addProblem(messageMixinFunction, charOffset, noLength, fileUri);
+ libraryBuilder.addProblem(
+ messageMixinFunction, charOffset, noLength, fileUri);
mixedInType = null;
mixedInTypeBuilder = null;
actualCls.isAnonymousMixin = false;
@@ -269,11 +270,11 @@
if (interfaceBuilders != null) {
for (int i = 0; i < interfaceBuilders!.length; ++i) {
interfaceBuilders![i] = _checkSupertype(interfaceBuilders![i]);
- Supertype? supertype =
- interfaceBuilders![i].buildSupertype(library, charOffset, fileUri);
+ Supertype? supertype = interfaceBuilders![i]
+ .buildSupertype(libraryBuilder, charOffset, fileUri);
if (supertype != null) {
if (_isFunction(supertype, coreLibrary)) {
- library.addProblem(
+ libraryBuilder.addProblem(
messageImplementFunction, charOffset, noLength, fileUri);
continue;
}
@@ -338,21 +339,20 @@
}
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
void build(String ignore, Builder declaration) {
SourceMemberBuilder member = declaration as SourceMemberBuilder;
- member.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ member.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
}
MetadataBuilder.buildAnnotations(isPatch ? origin.cls : cls, metadata,
- library, this, null, fileUri, library.scope);
+ libraryBuilder, this, null, fileUri, libraryBuilder.scope);
if (typeVariables != null) {
for (int i = 0; i < typeVariables!.length; i++) {
- typeVariables![i].buildOutlineExpressions(library, this, null,
+ typeVariables![i].buildOutlineExpressions(libraryBuilder, this, null,
classHierarchy, delayedActionPerformers, scope.parent!);
}
}
@@ -2826,7 +2826,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
diff --git a/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart b/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
index 59cbfa9..ab09a5f 100644
--- a/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
@@ -12,7 +12,6 @@
import '../builder/class_builder.dart';
import '../builder/constructor_builder.dart';
import '../builder/formal_parameter_builder.dart';
-import '../builder/library_builder.dart';
import '../builder/member_builder.dart';
import '../builder/metadata_builder.dart';
import '../builder/named_type_builder.dart';
@@ -52,7 +51,10 @@
import 'source_function_builder.dart';
abstract class SourceConstructorBuilder
- implements ConstructorBuilder, SourceMemberBuilder {}
+ implements ConstructorBuilder, SourceMemberBuilder {
+ void addSuperParameterDefaultValueCloners(
+ List<DelayedDefaultValueCloner> delayedDefaultValueCloners);
+}
class DeclaredSourceConstructorBuilder extends SourceFunctionBuilderImpl
implements SourceConstructorBuilder {
@@ -174,9 +176,8 @@
}
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
- Member member = build(library);
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
+ Member member = build();
f(member, BuiltMemberKind.Constructor);
if (_constructorTearOff != null) {
f(_constructorTearOff!, BuiltMemberKind.Method);
@@ -186,19 +187,19 @@
bool _hasBeenBuilt = false;
@override
- Constructor build(SourceLibraryBuilder sourceLibraryBuilder) {
+ Constructor build() {
if (!_hasBeenBuilt) {
- buildFunction(sourceLibraryBuilder);
+ buildFunction();
_constructor.function.fileOffset = charOpenParenOffset;
_constructor.function.fileEndOffset = _constructor.fileEndOffset;
_constructor.function.typeParameters = const <TypeParameter>[];
_constructor.isConst = isConst;
_constructor.isExternal = isExternal;
- updatePrivateMemberName(_constructor, sourceLibraryBuilder);
+ updatePrivateMemberName(_constructor, libraryBuilder);
if (_constructorTearOff != null) {
buildConstructorTearOffProcedure(_constructorTearOff!, _constructor,
- classBuilder.cls, sourceLibraryBuilder);
+ classBuilder.cls, libraryBuilder);
}
_hasBeenBuilt = true;
@@ -216,11 +217,7 @@
}
}
if (needsInference) {
- assert(
- libraryBuilder == sourceLibraryBuilder,
- "Unexpected library builder ${sourceLibraryBuilder} for"
- " constructor $this in ${libraryBuilder}.");
- sourceLibraryBuilder.loader
+ libraryBuilder.loader
.registerConstructorToBeInferred(_constructor, this);
}
}
@@ -350,7 +347,8 @@
if (superTargetBuilder is DeclaredSourceConstructorBuilder) {
superTargetBuilder.inferFormalTypes(typeEnvironment);
} else if (superTargetBuilder is SyntheticSourceConstructorBuilder) {
- MemberBuilder? superTargetOriginBuilder = superTargetBuilder.actualOrigin;
+ MemberBuilder? superTargetOriginBuilder =
+ superTargetBuilder._effectivelyDefiningConstructor;
if (superTargetOriginBuilder is DeclaredSourceConstructorBuilder) {
superTargetOriginBuilder.inferFormalTypes(typeEnvironment);
}
@@ -432,17 +430,16 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
if (_hasBuiltOutlines) return;
if (isConst && isPatch) {
- origin.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ origin.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
}
- super.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ super.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
// For modular compilation purposes we need to include initializers
// for const constructors into the outline. We also need to parse
@@ -458,9 +455,9 @@
} else {
formalParameterScope = null;
}
- BodyBuilder bodyBuilder = library.loader
+ BodyBuilder bodyBuilder = libraryBuilder.loader
.createBodyBuilderForOutlineExpression(
- library, classBuilder, this, classBuilder.scope, fileUri,
+ libraryBuilder, classBuilder, this, classBuilder.scope, fileUri,
formalParameterScope: formalParameterScope);
bodyBuilder.constantContext = ConstantContext.required;
bodyBuilder.parseInitializers(beginInitializers!,
@@ -475,6 +472,7 @@
_hasBuiltOutlines = true;
}
+ @override
void addSuperParameterDefaultValueCloners(
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
ConstructorBuilder? superTargetBuilder =
@@ -492,20 +490,20 @@
}
@override
- void buildFunction(SourceLibraryBuilder library) {
+ void buildFunction() {
// According to the specification §9.3 the return type of a constructor
// function is its enclosing class.
- super.buildFunction(library);
+ super.buildFunction();
Class enclosingClass = classBuilder.cls;
List<DartType> typeParameterTypes = <DartType>[];
for (int i = 0; i < enclosingClass.typeParameters.length; i++) {
TypeParameter typeParameter = enclosingClass.typeParameters[i];
typeParameterTypes.add(
new TypeParameterType.withDefaultNullabilityForLibrary(
- typeParameter, library.library));
+ typeParameter, libraryBuilder.library));
}
function.returnType = new InterfaceType(
- enclosingClass, library.nonNullable, typeParameterTypes);
+ enclosingClass, libraryBuilder.nonNullable, typeParameterTypes);
}
@override
@@ -764,20 +762,24 @@
}
class SyntheticSourceConstructorBuilder extends DillConstructorBuilder
- with SourceMemberBuilderMixin {
- // TODO(johnniwinther,cstefantsova): Rename [_origin] to avoid the confusion
- // with patches.
- // TODO(johnniwinther): Change the type of [_origin] to SourceMemberBuilder
- // when it's the supertype for both old SourceMemberBuilder and
- // SyntheticConstructorBuilder.
- MemberBuilder? _origin;
+ with SourceMemberBuilderMixin
+ implements SourceConstructorBuilder {
+ /// The constructor from which this synthesized constructor is defined.
+ ///
+ /// This defines the parameter structure and the default values of this
+ /// constructor.
+ ///
+ /// The [_immediatelyDefiningConstructor] might itself a synthesized
+ /// constructor and [_effectivelyDefiningConstructor] can be used to find
+ /// the constructor that effectively defines this constructor.
+ MemberBuilder? _immediatelyDefiningConstructor;
DelayedDefaultValueCloner? _delayedDefaultValueCloner;
SyntheticSourceConstructorBuilder(SourceClassBuilder parent,
Constructor constructor, Procedure? constructorTearOff,
- {MemberBuilder? origin,
+ {MemberBuilder? definingConstructor,
DelayedDefaultValueCloner? delayedDefaultValueCloner})
- : _origin = origin,
+ : _immediatelyDefiningConstructor = definingConstructor,
_delayedDefaultValueCloner = delayedDefaultValueCloner,
super(constructor, constructorTearOff, parent);
@@ -785,53 +787,43 @@
SourceLibraryBuilder get libraryBuilder =>
super.libraryBuilder as SourceLibraryBuilder;
- // TODO(johnniwinther,cstefantsova): Rename [actualOrigin] to avoid the
- // confusion with patches.
- MemberBuilder? get actualOrigin {
- MemberBuilder? origin = _origin;
+ MemberBuilder? get _effectivelyDefiningConstructor {
+ MemberBuilder? origin = _immediatelyDefiningConstructor;
while (origin is SyntheticSourceConstructorBuilder) {
- origin = origin._origin;
+ origin = origin._immediatelyDefiningConstructor;
}
return origin;
}
List<FormalParameterBuilder>? get formals {
- MemberBuilder? origin = actualOrigin;
+ MemberBuilder? origin = _effectivelyDefiningConstructor;
return origin is DeclaredSourceConstructorBuilder ? origin.formals : null;
}
@override
void buildOutlineExpressions(
- SourceLibraryBuilder libraryBuilder,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
- if (_origin != null) {
+ if (_immediatelyDefiningConstructor != null) {
// Ensure that default value expressions have been created for [_origin].
- LibraryBuilder originLibraryBuilder = _origin!.libraryBuilder;
- if (originLibraryBuilder is SourceLibraryBuilder) {
- // If [_origin] is from a source library, we need to build the default
- // values and initializers first.
- MemberBuilder origin = _origin!;
- if (origin is DeclaredSourceConstructorBuilder) {
- origin.buildOutlineExpressions(originLibraryBuilder, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
- } else if (origin is SyntheticSourceConstructorBuilder) {
- origin.buildOutlineExpressions(originLibraryBuilder, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
- }
+ // If [_origin] is from a source library, we need to build the default
+ // values and initializers first.
+ MemberBuilder origin = _immediatelyDefiningConstructor!;
+ if (origin is SourceConstructorBuilder) {
+ origin.buildOutlineExpressions(classHierarchy, delayedActionPerformers,
+ delayedDefaultValueCloners);
}
addSuperParameterDefaultValueCloners(delayedDefaultValueCloners);
- _origin = null;
+ _immediatelyDefiningConstructor = null;
}
}
+ @override
void addSuperParameterDefaultValueCloners(
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
- MemberBuilder? origin = _origin;
- if (origin is DeclaredSourceConstructorBuilder) {
- origin.addSuperParameterDefaultValueCloners(delayedDefaultValueCloners);
- } else if (origin is SyntheticSourceConstructorBuilder) {
+ MemberBuilder? origin = _immediatelyDefiningConstructor;
+ if (origin is SourceConstructorBuilder) {
origin.addSuperParameterDefaultValueCloners(delayedDefaultValueCloners);
}
if (_delayedDefaultValueCloner != null) {
diff --git a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
index b9c2816..d634e7f 100644
--- a/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_enum_builder.dart
@@ -552,21 +552,17 @@
}
@override
- Class build(
- SourceLibraryBuilder sourceLibraryBuilder, LibraryBuilder coreLibrary) {
+ Class build(LibraryBuilder coreLibrary) {
cls.isEnum = true;
- intType.resolveIn(
- coreLibrary.scope, charOffset, fileUri, sourceLibraryBuilder);
+ intType.resolveIn(coreLibrary.scope, charOffset, fileUri, libraryBuilder);
stringType.resolveIn(
- coreLibrary.scope, charOffset, fileUri, sourceLibraryBuilder);
+ coreLibrary.scope, charOffset, fileUri, libraryBuilder);
objectType.resolveIn(
- coreLibrary.scope, charOffset, fileUri, sourceLibraryBuilder);
+ coreLibrary.scope, charOffset, fileUri, libraryBuilder);
NamedTypeBuilder? enumType = _computeEnumSupertype();
- enumType!.resolveIn(
- coreLibrary.scope, charOffset, fileUri, sourceLibraryBuilder);
+ enumType!.resolveIn(coreLibrary.scope, charOffset, fileUri, libraryBuilder);
- listType.resolveIn(
- coreLibrary.scope, charOffset, fileUri, sourceLibraryBuilder);
+ listType.resolveIn(coreLibrary.scope, charOffset, fileUri, libraryBuilder);
List<Expression> values = <Expression>[];
if (enumConstantInfos != null) {
@@ -575,7 +571,7 @@
Builder declaration = firstMemberNamed(enumConstantInfo.name)!;
if (declaration.isField) {
SourceFieldBuilder fieldBuilder = declaration as SourceFieldBuilder;
- fieldBuilder.build(sourceLibraryBuilder);
+ fieldBuilder.build();
values.add(new StaticGet(fieldBuilder.field));
}
}
@@ -583,7 +579,7 @@
}
SourceFieldBuilder valuesBuilder =
firstMemberNamed("values") as SourceFieldBuilder;
- valuesBuilder.build(sourceLibraryBuilder);
+ valuesBuilder.build();
// The super initializer for the synthesized default constructor is
// inserted here if the enum's supertype is _Enum to preserve the legacy
@@ -593,12 +589,11 @@
// building.
if (identical(this.supertypeBuilder, enumType)) {
if (synthesizedDefaultConstructorBuilder != null) {
- Constructor constructor =
- synthesizedDefaultConstructorBuilder!.build(sourceLibraryBuilder);
+ Constructor constructor = synthesizedDefaultConstructorBuilder!.build();
ClassBuilder objectClass = objectType.declaration as ClassBuilder;
ClassBuilder enumClass = enumType.declaration as ClassBuilder;
MemberBuilder? superConstructor = enumClass.findConstructorOrFactory(
- "", charOffset, fileUri, sourceLibraryBuilder);
+ "", charOffset, fileUri, libraryBuilder);
if (superConstructor == null || !superConstructor.isConstructor) {
// TODO(ahe): Ideally, we would also want to check that [Object]'s
// unnamed constructor requires no arguments. But that information
@@ -615,19 +610,18 @@
constructor.initializers.add(new SuperInitializer(
superConstructor.member as Constructor,
new Arguments.forwarded(
- constructor.function, sourceLibraryBuilder.library))
+ constructor.function, libraryBuilder.library))
..parent = constructor);
}
synthesizedDefaultConstructorBuilder = null;
}
}
- return super.build(sourceLibraryBuilder, coreLibrary);
+ return super.build(coreLibrary);
}
- DartType buildElement(SourceLibraryBuilder sourceLibraryBuilder,
- SourceFieldBuilder fieldBuilder, CoreTypes coreTypes) {
- DartType selfType = this.selfType.build(sourceLibraryBuilder);
+ DartType buildElement(SourceFieldBuilder fieldBuilder, CoreTypes coreTypes) {
+ DartType selfType = this.selfType.build(libraryBuilder);
Builder? builder = firstMemberNamed(fieldBuilder.name);
if (builder == null || !builder.isField) return selfType;
fieldBuilder = builder as SourceFieldBuilder;
@@ -676,7 +670,7 @@
typeArguments.add(typeBuilder.build(libraryBuilder));
}
}
- if (sourceLibraryBuilder.enableEnhancedEnumsInLibrary) {
+ if (libraryBuilder.enableEnhancedEnumsInLibrary) {
// We need to create a BodyBuilder to solve the following: 1) if
// the arguments token is provided, we'll use the BodyBuilder to
// parse them and perform inference, 2) if the type arguments
@@ -736,8 +730,8 @@
!constructorBuilder.isConst) {
// This can only occur if there enhanced enum features are used
// when they are not enabled.
- assert(sourceLibraryBuilder.loader.hasSeenError);
- String text = sourceLibraryBuilder.loader.target.context
+ assert(libraryBuilder.loader.hasSeenError);
+ String text = libraryBuilder.loader.target.context
.format(
templateConstructorNotFound
.withArguments(fullConstructorNameForErrors)
@@ -764,7 +758,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder sourceLibraryBuilder,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
@@ -775,7 +768,7 @@
Builder declaration = firstMemberNamed(enumConstantInfo.name)!;
if (declaration.isField) {
SourceFieldBuilder fieldBuilder = declaration as SourceFieldBuilder;
- fieldBuilder.build(sourceLibraryBuilder);
+ fieldBuilder.build();
values.add(new StaticGet(fieldBuilder.field));
}
}
@@ -789,8 +782,8 @@
typeArgument: rawType(libraryBuilder.nonNullable), isConst: true));
for (SourceFieldBuilder elementBuilder in elementBuilders) {
- elementBuilder.fieldType = buildElement(
- sourceLibraryBuilder, elementBuilder, classHierarchy.coreTypes);
+ elementBuilder.fieldType =
+ buildElement(elementBuilder, classHierarchy.coreTypes);
}
delayedActionPerformers.addAll(_delayedActionPerformers);
_delayedActionPerformers.clear();
@@ -813,8 +806,8 @@
resultType: nameField.getterType),
]));
- super.buildOutlineExpressions(libraryBuilder, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ super.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
}
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart b/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
index ca74610..409a95f 100644
--- a/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_extension_builder.dart
@@ -82,19 +82,18 @@
Extension get extension => isPatch ? origin._extension : _extension;
/// Builds the [Extension] for this extension build and inserts the members
- /// into the [Library] of [sourceLibraryBuilder].
+ /// into the [Library] of [libraryBuilder].
///
/// [addMembersToLibrary] is `true` if the extension members should be added
/// to the library. This is `false` if the extension is in conflict with
/// another library member. In this case, the extension member should not be
/// added to the library to avoid name clashes with other members in the
/// library.
- Extension build(
- SourceLibraryBuilder sourceLibraryBuilder, LibraryBuilder coreLibrary,
+ Extension build(LibraryBuilder coreLibrary,
{required bool addMembersToLibrary}) {
- _extension.onType = onType.build(sourceLibraryBuilder);
+ _extension.onType = onType.build(libraryBuilder);
extensionTypeShowHideClauseBuilder.buildAndStoreTypes(
- _extension, sourceLibraryBuilder);
+ _extension, libraryBuilder);
SourceLibraryBuilder.checkMemberConflicts(libraryBuilder, scope,
checkForInstanceVsStaticConflict: true,
@@ -124,8 +123,8 @@
}
} else if (declaration is SourceMemberBuilder) {
SourceMemberBuilder memberBuilder = declaration;
- memberBuilder.buildMembers(sourceLibraryBuilder,
- (Member member, BuiltMemberKind memberKind) {
+ memberBuilder
+ .buildMembers((Member member, BuiltMemberKind memberKind) {
if (addMembersToLibrary &&
!memberBuilder.isPatch &&
!memberBuilder.isDuplicate &&
@@ -168,17 +167,17 @@
assert(kind != null);
Reference memberReference;
if (member is Field) {
- sourceLibraryBuilder.library.addField(member);
+ libraryBuilder.library.addField(member);
memberReference = member.fieldReference;
} else if (member is Procedure) {
- sourceLibraryBuilder.library.addProcedure(member);
+ libraryBuilder.library.addProcedure(member);
memberReference = member.reference;
} else {
unhandled("${member.runtimeType}", "buildBuilders",
member.fileOffset, member.fileUri);
}
extension.members.add(new ExtensionMemberDescriptor(
- name: new Name(name, sourceLibraryBuilder.library),
+ name: new Name(name, libraryBuilder.library),
member: memberReference,
isStatic: memberBuilder.isStatic,
kind: kind));
@@ -273,25 +272,23 @@
});
}
- @override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
MetadataBuilder.buildAnnotations(isPatch ? origin.extension : extension,
- metadata, library, this, null, fileUri, library.scope);
+ metadata, libraryBuilder, this, null, fileUri, libraryBuilder.scope);
if (typeParameters != null) {
for (int i = 0; i < typeParameters!.length; i++) {
- typeParameters![i].buildOutlineExpressions(library, this, null,
+ typeParameters![i].buildOutlineExpressions(libraryBuilder, this, null,
classHierarchy, delayedActionPerformers, scope.parent!);
}
}
void build(String ignore, Builder declaration) {
SourceMemberBuilder member = declaration as SourceMemberBuilder;
- member.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ member.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
}
scope.forEach(build);
diff --git a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
index d235363..b7ab94d 100644
--- a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
@@ -130,9 +130,8 @@
Iterable<Member> get exportedMembers => [_procedure];
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
- Member member = build(library);
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
+ Member member = build();
f(member, BuiltMemberKind.Method);
if (_factoryTearOff != null) {
f(_factoryTearOff!, BuiltMemberKind.Method);
@@ -140,8 +139,8 @@
}
@override
- Procedure build(SourceLibraryBuilder libraryBuilder) {
- buildFunction(libraryBuilder);
+ Procedure build() {
+ buildFunction();
_procedureInternal.function.fileOffset = charOpenParenOffset;
_procedureInternal.function.fileEndOffset =
_procedureInternal.fileEndOffset;
@@ -162,13 +161,12 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
if (_hasBuiltOutlines) return;
- super.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ super.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
_hasBuiltOutlines = true;
}
@@ -346,9 +344,8 @@
}
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
- Member member = build(library);
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
+ Member member = build();
f(member, BuiltMemberKind.RedirectingFactory);
if (_factoryTearOff != null) {
f(_factoryTearOff!, BuiltMemberKind.Method);
@@ -356,8 +353,8 @@
}
@override
- Procedure build(SourceLibraryBuilder sourceLibraryBuilder) {
- buildFunction(sourceLibraryBuilder);
+ Procedure build() {
+ buildFunction();
_procedureInternal.function.fileOffset = charOpenParenOffset;
_procedureInternal.function.fileEndOffset =
_procedureInternal.fileEndOffset;
@@ -372,11 +369,11 @@
(int i) => redirectionTarget.typeArguments![i].build(libraryBuilder),
growable: false);
}
- updatePrivateMemberName(_procedureInternal, sourceLibraryBuilder);
+ updatePrivateMemberName(_procedureInternal, libraryBuilder);
if (_factoryTearOff != null) {
_tearOffTypeParameters =
buildRedirectingFactoryTearOffProcedureParameters(
- _factoryTearOff!, _procedureInternal, sourceLibraryBuilder);
+ _factoryTearOff!, _procedureInternal, libraryBuilder);
}
return _procedureInternal;
}
@@ -386,35 +383,32 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
if (_hasBuiltOutlines) return;
if (isConst && isPatch) {
- origin.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ origin.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
}
- super.buildOutlineExpressions(library, classHierarchy,
- delayedActionPerformers, delayedDefaultValueCloners);
+ super.buildOutlineExpressions(
+ classHierarchy, delayedActionPerformers, delayedDefaultValueCloners);
RedirectingFactoryBody redirectingFactoryBody =
_procedureInternal.function.body as RedirectingFactoryBody;
List<DartType>? typeArguments = redirectingFactoryBody.typeArguments;
Member? target = redirectingFactoryBody.target;
if (typeArguments != null && typeArguments.any((t) => t is UnknownType)) {
- TypeInferrer inferrer = library.loader.typeInferenceEngine
+ TypeInferrer inferrer = libraryBuilder.loader.typeInferenceEngine
.createLocalTypeInferrer(
- fileUri, classBuilder!.thisType, library, null);
- inferrer.helper = library.loader.createBodyBuilderForOutlineExpression(
- library, classBuilder, this, classBuilder!.scope, fileUri);
+ fileUri, classBuilder!.thisType, libraryBuilder, null);
+ inferrer.helper = libraryBuilder.loader
+ .createBodyBuilderForOutlineExpression(
+ libraryBuilder, classBuilder, this, classBuilder!.scope, fileUri);
Builder? targetBuilder = redirectionTarget.target;
if (targetBuilder is SourceMemberBuilder) {
// Ensure that target has been built.
- targetBuilder.buildOutlineExpressions(
- targetBuilder.libraryBuilder,
- classHierarchy,
- delayedActionPerformers,
- delayedDefaultValueCloners);
+ targetBuilder.buildOutlineExpressions(classHierarchy,
+ delayedActionPerformers, delayedDefaultValueCloners);
}
if (targetBuilder is FunctionBuilder) {
target = targetBuilder.member;
@@ -495,7 +489,7 @@
target!,
typeArguments,
_tearOffTypeParameters!,
- library));
+ libraryBuilder));
}
Map<TypeParameter, DartType> substitutionMap;
if (function.typeParameters.length == typeArguments.length) {
@@ -510,7 +504,7 @@
}
delayedDefaultValueCloners.add(new DelayedDefaultValueCloner(
substitutionMap, target!.function!, function,
- libraryBuilder: library, identicalSignatures: false));
+ libraryBuilder: libraryBuilder, identicalSignatures: false));
}
if (isConst && isPatch) {
_finishPatch();
diff --git a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
index 122964a..346eda3 100644
--- a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
@@ -356,14 +356,13 @@
Iterable<Member> get exportedMembers => _fieldEncoding.exportedMembers;
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
- build(library);
- _fieldEncoding.registerMembers(library, this, f);
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
+ build();
+ _fieldEncoding.registerMembers(libraryBuilder, this, f);
}
/// Builds the core AST structures for this field as needed for the outline.
- void build(SourceLibraryBuilder libraryBuilder) {
+ void build() {
if (type != null) {
fieldType = type!.build(libraryBuilder);
}
@@ -372,7 +371,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
@@ -382,11 +380,11 @@
MetadataBuilder.buildAnnotations(
annotatable,
metadata,
- library,
+ libraryBuilder,
declarationBuilder,
this,
fileUri,
- declarationBuilder?.scope ?? library.scope);
+ declarationBuilder?.scope ?? libraryBuilder.scope);
}
// For modular compilation we need to include initializers of all const
@@ -398,10 +396,10 @@
isClassMember &&
classBuilder!.declaresConstConstructor)) &&
_constInitializerToken != null) {
- Scope scope = declarationBuilder?.scope ?? library.scope;
- BodyBuilder bodyBuilder = library.loader
+ Scope scope = declarationBuilder?.scope ?? libraryBuilder.scope;
+ BodyBuilder bodyBuilder = libraryBuilder.loader
.createBodyBuilderForOutlineExpression(
- library, declarationBuilder, this, scope, fileUri);
+ libraryBuilder, declarationBuilder, this, scope, fileUri);
bodyBuilder.constantContext =
isConst ? ConstantContext.inferred : ConstantContext.required;
Expression initializer = bodyBuilder.typeInferrer
@@ -413,9 +411,9 @@
// Wrap the initializer in a temporary parent expression; the
// transformations need a parent relation.
Not wrapper = new Not(initializer);
- SourceLoader loader = library.loader;
+ SourceLoader loader = libraryBuilder.loader;
loader.transformPostInference(wrapper, bodyBuilder.transformSetLiterals,
- bodyBuilder.transformCollections, library.library);
+ bodyBuilder.transformCollections, libraryBuilder.library);
initializer = wrapper.operand;
}
buildBody(classHierarchy.coreTypes, initializer);
diff --git a/pkg/front_end/lib/src/fasta/source/source_function_builder.dart b/pkg/front_end/lib/src/fasta/source/source_function_builder.dart
index 4425a6d..1f34e7d 100644
--- a/pkg/front_end/lib/src/fasta/source/source_function_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_function_builder.dart
@@ -34,7 +34,6 @@
import '../type_inference/type_inference_engine.dart'
show IncludesTypeParametersNonCovariantly;
import '../util/helpers.dart' show DelayedActionPerformer;
-import 'source_library_builder.dart' show SourceLibraryBuilder;
import 'source_member_builder.dart';
abstract class SourceFunctionBuilder
@@ -315,7 +314,7 @@
@override
bool get isNative => nativeMethodName != null;
- void buildFunction(SourceLibraryBuilder library) {
+ void buildFunction() {
function.asyncMarker = asyncModifier;
function.body = body;
body?.parent = function;
@@ -344,7 +343,7 @@
}
if (formals != null) {
for (FormalParameterBuilder formal in formals!) {
- VariableDeclaration parameter = formal.build(library, 0);
+ VariableDeclaration parameter = formal.build(libraryBuilder, 0);
if (needsCheckVisitor != null) {
if (parameter.type.accept(needsCheckVisitor)) {
parameter.isCovariantByClass = true;
@@ -360,10 +359,10 @@
function.requiredParameterCount++;
}
- if (library.isNonNullableByDefault) {
+ if (libraryBuilder.isNonNullableByDefault) {
// Required named parameters can't have default values.
if (formal.isNamedRequired && formal.initializerToken != null) {
- library.addProblem(
+ libraryBuilder.addProblem(
templateRequiredNamedParameterHasDefaultValueError
.withArguments(formal.name),
formal.charOffset,
@@ -388,7 +387,7 @@
function.requiredParameterCount = 1;
}
if (returnType != null) {
- function.returnType = returnType!.build(library);
+ function.returnType = returnType!.build(libraryBuilder);
}
if (isExtensionInstanceMember) {
ExtensionBuilder extensionBuilder = parent as ExtensionBuilder;
@@ -434,7 +433,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
@@ -443,13 +441,14 @@
isClassMember || isExtensionMember
? parent as DeclarationBuilder
: null;
- Scope parentScope = classOrExtensionBuilder?.scope ?? library.scope;
- MetadataBuilder.buildAnnotations(member, metadata, library,
+ Scope parentScope =
+ classOrExtensionBuilder?.scope ?? libraryBuilder.scope;
+ MetadataBuilder.buildAnnotations(member, metadata, libraryBuilder,
classOrExtensionBuilder, this, fileUri, parentScope);
if (typeVariables != null) {
for (int i = 0; i < typeVariables!.length; i++) {
typeVariables![i].buildOutlineExpressions(
- library,
+ libraryBuilder,
classOrExtensionBuilder,
this,
classHierarchy,
@@ -464,14 +463,15 @@
// buildOutlineExpressions to clear initializerToken to prevent
// consuming too much memory.
for (FormalParameterBuilder formal in formals!) {
- formal.buildOutlineExpressions(library, delayedActionPerformers);
+ formal.buildOutlineExpressions(
+ libraryBuilder, delayedActionPerformers);
}
}
_hasBuiltOutlineExpressions = true;
}
}
- Member build(SourceLibraryBuilder library);
+ Member build();
@override
void becomeNative(SourceLoader loader) {
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index e53ac73..fe81c38 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -3034,16 +3034,16 @@
while (iterator.moveNext()) {
Builder declaration = iterator.current;
if (declaration is SourceClassBuilder) {
- declaration.buildOutlineExpressions(this, classHierarchy,
+ declaration.buildOutlineExpressions(classHierarchy,
delayedActionPerformers, delayedDefaultValueCloners);
- } else if (declaration is ExtensionBuilder) {
- declaration.buildOutlineExpressions(this, classHierarchy,
+ } else if (declaration is SourceExtensionBuilder) {
+ declaration.buildOutlineExpressions(classHierarchy,
delayedActionPerformers, delayedDefaultValueCloners);
} else if (declaration is SourceMemberBuilder) {
- declaration.buildOutlineExpressions(this, classHierarchy,
+ declaration.buildOutlineExpressions(classHierarchy,
delayedActionPerformers, delayedDefaultValueCloners);
} else if (declaration is SourceTypeAliasBuilder) {
- declaration.buildOutlineExpressions(this, classHierarchy,
+ declaration.buildOutlineExpressions(classHierarchy,
delayedActionPerformers, delayedDefaultValueCloners);
} else {
assert(
@@ -3072,20 +3072,19 @@
}
if (declaration is SourceClassBuilder) {
- Class cls = declaration.build(this, coreLibrary);
+ Class cls = declaration.build(coreLibrary);
if (!declaration.isPatch) {
cls.name += findDuplicateSuffix(declaration);
library.addClass(cls);
}
} else if (declaration is SourceExtensionBuilder) {
- Extension extension = declaration.build(this, coreLibrary,
+ Extension extension = declaration.build(coreLibrary,
addMembersToLibrary: !declaration.isDuplicate);
if (!declaration.isPatch && !declaration.isDuplicate) {
library.addExtension(extension);
}
} else if (declaration is SourceMemberBuilder) {
- declaration.buildMembers(this,
- (Member member, BuiltMemberKind memberKind) {
+ declaration.buildMembers((Member member, BuiltMemberKind memberKind) {
if (member is Field) {
member.isStatic = true;
if (!declaration.isPatch && !declaration.isDuplicate) {
@@ -3104,12 +3103,12 @@
}
});
} else if (declaration is SourceTypeAliasBuilder) {
- Typedef typedef = declaration.build(this);
+ Typedef typedef = declaration.build();
if (!declaration.isPatch && !declaration.isDuplicate) {
library.addTypedef(typedef);
}
} else if (declaration is SourceEnumBuilder) {
- Class cls = declaration.build(this, coreLibrary);
+ Class cls = declaration.build(coreLibrary);
if (!declaration.isPatch) {
cls.name += findDuplicateSuffix(declaration);
library.addClass(cls);
diff --git a/pkg/front_end/lib/src/fasta/source/source_member_builder.dart b/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
index 3aab68e..429809d 100644
--- a/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
@@ -29,11 +29,9 @@
SourceLibraryBuilder get libraryBuilder;
/// Builds the core AST structures for this member as needed for the outline.
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f);
+ void buildMembers(void Function(Member, BuiltMemberKind) f);
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners);
@@ -62,8 +60,7 @@
retainDataForTesting ? new MemberDataForTesting() : null;
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
assert(false, "Unexpected call to $runtimeType.buildMembers.");
}
@@ -132,7 +129,6 @@
@override
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {}
diff --git a/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart b/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
index 68bb60e..89731b6 100644
--- a/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
@@ -229,9 +229,8 @@
Iterable<Member> get exportedMembers => [procedure];
@override
- void buildMembers(
- SourceLibraryBuilder library, void Function(Member, BuiltMemberKind) f) {
- Member member = build(library);
+ void buildMembers(void Function(Member, BuiltMemberKind) f) {
+ Member member = build();
if (isExtensionMethod) {
switch (kind) {
case ProcedureKind.Method:
@@ -259,8 +258,8 @@
}
@override
- Procedure build(SourceLibraryBuilder libraryBuilder) {
- buildFunction(libraryBuilder);
+ Procedure build() {
+ buildFunction();
_procedure.function.fileOffset = charOpenParenOffset;
_procedure.function.fileEndOffset = _procedure.fileEndOffset;
_procedure.isAbstract = isAbstract;
diff --git a/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart b/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
index cbec47e..39cce6d 100644
--- a/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_type_alias_builder.dart
@@ -97,7 +97,7 @@
typeDeclarationBuilder.isNullClass;
}
- Typedef build(SourceLibraryBuilder libraryBuilder) {
+ Typedef build() {
typedef.type ??= buildThisType();
TypeBuilder? type = this.type;
@@ -257,21 +257,20 @@
}
void buildOutlineExpressions(
- SourceLibraryBuilder library,
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<DelayedDefaultValueCloner> delayedDefaultValueCloners) {
- MetadataBuilder.buildAnnotations(
- typedef, metadata, library, null, null, fileUri, library.scope);
+ MetadataBuilder.buildAnnotations(typedef, metadata, libraryBuilder, null,
+ null, fileUri, libraryBuilder.scope);
if (typeVariables != null) {
for (int i = 0; i < typeVariables!.length; i++) {
typeVariables![i].buildOutlineExpressions(
- library,
+ libraryBuilder,
null,
null,
classHierarchy,
delayedActionPerformers,
- computeTypeParameterScope(library.scope));
+ computeTypeParameterScope(libraryBuilder.scope));
}
}
_tearOffDependencies?.forEach((Procedure tearOff, Member target) {
@@ -281,7 +280,7 @@
target.enclosingClass!.typeParameters, targetType.typeArguments),
target.function!,
tearOff.function,
- libraryBuilder: library));
+ libraryBuilder: libraryBuilder));
});
}
diff --git a/tools/VERSION b/tools/VERSION
index 64c8ecd..98c53de 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 225
+PRERELEASE 226
PRERELEASE_PATCH 0
\ No newline at end of file