diff --git a/pkg/front_end/lib/src/fragment/constructor/encoding.dart b/pkg/front_end/lib/src/fragment/constructor/encoding.dart index bcc89d261ef..83f3a8b29fa 100644 --- a/pkg/front_end/lib/src/fragment/constructor/encoding.dart +++ b/pkg/front_end/lib/src/fragment/constructor/encoding.dart @@ -634,13 +634,7 @@ mixin _ExtensionTypeConstructorEncodingMixin typeArguments = []; } - _thisVariable = - libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled + _thisVariable = libraryBuilder.loader.isClosureContextLoweringEnabled ? // Coverage-ignore(suite): Not run. (new PositionalParameter( diff --git a/pkg/front_end/lib/src/fragment/field/declaration.dart b/pkg/front_end/lib/src/fragment/field/declaration.dart index 0b88a0aa392..cc831d75799 100644 --- a/pkg/front_end/lib/src/fragment/field/declaration.dart +++ b/pkg/front_end/lib/src/fragment/field/declaration.dart @@ -650,9 +650,6 @@ class RegularFieldDeclaration .builder .libraryBuilder .loader - .target - .backendTarget - .flags .isClosureContextLoweringEnabled, ); } else { diff --git a/pkg/front_end/lib/src/fragment/field/encoding.dart b/pkg/front_end/lib/src/fragment/field/encoding.dart index 29edbf32b78..33a34664362 100644 --- a/pkg/front_end/lib/src/fragment/field/encoding.dart +++ b/pkg/front_end/lib/src/fragment/field/encoding.dart @@ -1343,12 +1343,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding { .attachMember(_getter!); if (!_fragment.modifiers.isFinal) { VariableDeclaration parameter = - libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled + libraryBuilder.loader.isClosureContextLoweringEnabled ? // Coverage-ignore(suite): Not run. (new PositionalParameter( diff --git a/pkg/front_end/lib/src/fragment/getter/declaration.dart b/pkg/front_end/lib/src/fragment/getter/declaration.dart index b0ddf254867..275a2eec075 100644 --- a/pkg/front_end/lib/src/fragment/getter/declaration.dart +++ b/pkg/front_end/lib/src/fragment/getter/declaration.dart @@ -289,12 +289,8 @@ class RegularGetterDeclaration fileUri: _fragment.fileUri, nameOffset: _fragment.nameOffset, nameLength: _fragment.name.length, - isClosureContextLoweringEnabled: libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + libraryBuilder.loader.isClosureContextLoweringEnabled, ); } _encoding.ensureTypes(libraryBuilder, membersBuilder.hierarchyBuilder); diff --git a/pkg/front_end/lib/src/fragment/method/declaration.dart b/pkg/front_end/lib/src/fragment/method/declaration.dart index c520d28b626..343c9e4e042 100644 --- a/pkg/front_end/lib/src/fragment/method/declaration.dart +++ b/pkg/front_end/lib/src/fragment/method/declaration.dart @@ -263,9 +263,6 @@ class MethodDeclarationImpl isClosureContextLoweringEnabled: enclosingClassBuilder .libraryBuilder .loader - .target - .backendTarget - .flags .isClosureContextLoweringEnabled, ); } diff --git a/pkg/front_end/lib/src/fragment/method/encoding.dart b/pkg/front_end/lib/src/fragment/method/encoding.dart index 6c0a6e007ce..78ce8aa9793 100644 --- a/pkg/front_end/lib/src/fragment/method/encoding.dart +++ b/pkg/front_end/lib/src/fragment/method/encoding.dart @@ -1050,13 +1050,8 @@ class _ExtensionInstanceMethodStrategy implements MethodEncodingStrategy { onTypeBuilder: declarationBuilder.onType, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return fragment.isOperator ? new _ExtensionInstanceOperatorEncoding( @@ -1188,13 +1183,8 @@ class _ExtensionTypeInstanceMethodStrategy implements MethodEncodingStrategy { typeParameterFactory: typeParameterFactory, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return fragment.isOperator ? new _ExtensionTypeInstanceOperatorEncoding( diff --git a/pkg/front_end/lib/src/fragment/primary_constructor_field.dart b/pkg/front_end/lib/src/fragment/primary_constructor_field.dart index f87fd4b257a..bb29b872df4 100644 --- a/pkg/front_end/lib/src/fragment/primary_constructor_field.dart +++ b/pkg/front_end/lib/src/fragment/primary_constructor_field.dart @@ -413,13 +413,8 @@ class PrimaryConstructorFieldDeclaration nameOffset: nameOffset, nameLength: _fragment.name.length, isAssignable: hasSetter, - isClosureContextLoweringEnabled: classBuilder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + classBuilder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); } else { type.build( diff --git a/pkg/front_end/lib/src/fragment/util.dart b/pkg/front_end/lib/src/fragment/util.dart index a7a5998fbcb..89f23e847bd 100644 --- a/pkg/front_end/lib/src/fragment/util.dart +++ b/pkg/front_end/lib/src/fragment/util.dart @@ -190,13 +190,8 @@ class ExtensionInstancePropertyEncodingStrategy onTypeBuilder: declarationBuilder.onType, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return new ExtensionInstanceGetterEncoding( fragment, @@ -221,13 +216,8 @@ class ExtensionInstancePropertyEncodingStrategy onTypeBuilder: declarationBuilder.onType, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return new ExtensionInstanceSetterEncoding( fragment, @@ -280,13 +270,8 @@ class ExtensionTypeInstancePropertyEncodingStrategy typeParameterFactory: typeParameterFactory, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return new ExtensionTypeInstanceGetterEncoding( fragment, @@ -311,13 +296,8 @@ class ExtensionTypeInstancePropertyEncodingStrategy typeParameterFactory: typeParameterFactory, fileUri: fragment.fileUri, fileOffset: fragment.nameOffset, - isClosureContextLoweringEnabled: builder - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + builder.libraryBuilder.loader.isClosureContextLoweringEnabled, ); return new ExtensionTypeInstanceSetterEncoding( fragment, diff --git a/pkg/front_end/lib/src/kernel/body_builder.dart b/pkg/front_end/lib/src/kernel/body_builder.dart index aa47bdbbe9e..da667dfadd2 100644 --- a/pkg/front_end/lib/src/kernel/body_builder.dart +++ b/pkg/front_end/lib/src/kernel/body_builder.dart @@ -426,12 +426,7 @@ class BodyBuilderImpl extends StackListenerImpl uri.isScheme("org-dartlang-sdk"); bool get isClosureContextLoweringEnabled { - return libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + return libraryBuilder.loader.isClosureContextLoweringEnabled; } @override diff --git a/pkg/front_end/lib/src/kernel/constructor_tearoff_lowering.dart b/pkg/front_end/lib/src/kernel/constructor_tearoff_lowering.dart index f508dc52f92..4b661753ae7 100644 --- a/pkg/front_end/lib/src/kernel/constructor_tearoff_lowering.dart +++ b/pkg/front_end/lib/src/kernel/constructor_tearoff_lowering.dart @@ -363,12 +363,8 @@ DelayedDefaultValueCloner _createParameters( Substitution substitution, SourceLibraryBuilder libraryBuilder, ) { - bool isClosureContextLoweringEnabled = libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool isClosureContextLoweringEnabled = + libraryBuilder.loader.isClosureContextLoweringEnabled; VariableDeclaration createTearOffParameter( VariableDeclaration constructorParameter, { diff --git a/pkg/front_end/lib/src/kernel/kernel_target.dart b/pkg/front_end/lib/src/kernel/kernel_target.dart index dd0975e3493..dad1c2e7e71 100644 --- a/pkg/front_end/lib/src/kernel/kernel_target.dart +++ b/pkg/front_end/lib/src/kernel/kernel_target.dart @@ -1078,12 +1078,8 @@ class KernelTarget { bool hasTypeDependency = false; Substitution substitution = Substitution.fromMap(substitutionMap); - bool isClosureContextLoweringEnabled = libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool isClosureContextLoweringEnabled = + libraryBuilder.loader.isClosureContextLoweringEnabled; VariableDeclaration copyFormal( VariableDeclaration formal, { diff --git a/pkg/front_end/lib/src/kernel/resolver.dart b/pkg/front_end/lib/src/kernel/resolver.dart index fb03243374e..03986c315a5 100644 --- a/pkg/front_end/lib/src/kernel/resolver.dart +++ b/pkg/front_end/lib/src/kernel/resolver.dart @@ -940,12 +940,8 @@ class Resolver { fileUri: fileUri, hasImmediatelyDeclaredInitializer: false, wildcardIndex: wildcardIndex, - isClosureContextLoweringEnabled: libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + libraryBuilder.loader.isClosureContextLoweringEnabled, variable: formal, ); }, diff --git a/pkg/front_end/lib/src/source/builder_factory.dart b/pkg/front_end/lib/src/source/builder_factory.dart index 118d9ef1dc0..a191e870c83 100644 --- a/pkg/front_end/lib/src/source/builder_factory.dart +++ b/pkg/front_end/lib/src/source/builder_factory.dart @@ -377,11 +377,8 @@ class BuilderFactory { ConstructorEncodingStrategy encodingStrategy = new ConstructorEncodingStrategy( _declarationBuilder!, - isClosureContextLoweringEnabled: _loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + _loader.isClosureContextLoweringEnabled, ); ConstructorReferences constructorReferences = new ConstructorReferences( diff --git a/pkg/front_end/lib/src/source/fragment_factory_impl.dart b/pkg/front_end/lib/src/source/fragment_factory_impl.dart index 753ef2cf032..4a41c3d426e 100644 --- a/pkg/front_end/lib/src/source/fragment_factory_impl.dart +++ b/pkg/front_end/lib/src/source/fragment_factory_impl.dart @@ -2263,12 +2263,8 @@ class FragmentFactoryImpl implements FragmentFactory { hasImmediatelyDeclaredInitializer: initializerToken != null, wildcardIndex: wildcardIndex, publicName: publicName, - isClosureContextLoweringEnabled: _compilationUnit - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: + _compilationUnit.loader.isClosureContextLoweringEnabled, ); return formal; } diff --git a/pkg/front_end/lib/src/source/source_enum_builder.dart b/pkg/front_end/lib/src/source/source_enum_builder.dart index c670f520065..bfb06e03ab0 100644 --- a/pkg/front_end/lib/src/source/source_enum_builder.dart +++ b/pkg/front_end/lib/src/source/source_enum_builder.dart @@ -239,12 +239,8 @@ class SourceEnumBuilder extends SourceClassBuilder { } } if (needsSynthesizedDefaultConstructor) { - bool isClosureContextLoweringEnabled = libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool isClosureContextLoweringEnabled = + libraryBuilder.loader.isClosureContextLoweringEnabled; ConstructorEncodingStrategy encodingStrategy = new ConstructorEncodingStrategy( this, diff --git a/pkg/front_end/lib/src/source/source_loader.dart b/pkg/front_end/lib/src/source/source_loader.dart index 678a41b24cf..7ca062720ec 100644 --- a/pkg/front_end/lib/src/source/source_loader.dart +++ b/pkg/front_end/lib/src/source/source_loader.dart @@ -216,6 +216,10 @@ class SourceLoader extends Loader implements ProblemReportingHelper { return null; } + bool get isClosureContextLoweringEnabled { + return target.backendTarget.flags.isClosureContextLoweringEnabled; + } + int byteCount = 0; UriOffset? currentUriForCrashReporting; @@ -2971,8 +2975,7 @@ severity: $severity hierarchyBuilder, sourceClasses, sourceExtensionTypes, - isClosureContextLoweringEnabled: - target.backendTarget.flags.isClosureContextLoweringEnabled, + isClosureContextLoweringEnabled: isClosureContextLoweringEnabled, ); typeInferenceEngine.membersBuilder = membersBuilder; ticker.logMs("Built class hierarchy members"); diff --git a/pkg/front_end/lib/src/type_inference/inference_visitor_base.dart b/pkg/front_end/lib/src/type_inference/inference_visitor_base.dart index b622d8c2b4f..8db669693a7 100644 --- a/pkg/front_end/lib/src/type_inference/inference_visitor_base.dart +++ b/pkg/front_end/lib/src/type_inference/inference_visitor_base.dart @@ -149,13 +149,8 @@ abstract class InferenceVisitorBase implements InferenceVisitor { // TODO(cstefantsova): Replace this flag by implementing the default // strategy. - bool get isClosureContextLoweringEnabled => _inferrer - .libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool get isClosureContextLoweringEnabled => + _inferrer.libraryBuilder.loader.isClosureContextLoweringEnabled; AssignedVariablesImpl get assignedVariables => _inferrer.assignedVariables; diff --git a/pkg/front_end/lib/src/type_inference/type_inference_engine.dart b/pkg/front_end/lib/src/type_inference/type_inference_engine.dart index 9c96f79ecc5..02a094d95e2 100644 --- a/pkg/front_end/lib/src/type_inference/type_inference_engine.dart +++ b/pkg/front_end/lib/src/type_inference/type_inference_engine.dart @@ -376,12 +376,8 @@ class TypeInferenceEngineImpl extends TypeInferenceEngine { InferenceDataForTesting? dataForTesting, }) { AssignedVariablesImpl assignedVariables; - bool isClosureContextLoweringEnabled = libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool isClosureContextLoweringEnabled = + libraryBuilder.loader.isClosureContextLoweringEnabled; if (dataForTesting != null) { // Coverage-ignore-block(suite): Not run. dataForTesting.flowAnalysisResult.assignedVariables = diff --git a/pkg/front_end/lib/src/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/type_inference/type_inferrer.dart index eb6fbcf600f..e2f07d93dae 100644 --- a/pkg/front_end/lib/src/type_inference/type_inferrer.dart +++ b/pkg/front_end/lib/src/type_inference/type_inferrer.dart @@ -183,12 +183,8 @@ class TypeInferrerImpl implements TypeInferrer { libraryBuilder.libraryFeatures.soundFlowAnalysis.isEnabled, ); - bool get isClosureContextLoweringEnabled => libraryBuilder - .loader - .target - .backendTarget - .flags - .isClosureContextLoweringEnabled; + bool get isClosureContextLoweringEnabled => + libraryBuilder.loader.isClosureContextLoweringEnabled; InferenceVisitorBase _createInferenceVisitor({ required Uri fileUri,