[cfe] Add SourceLoader.isClosureContextLoweringEnabled
This is a follow-up to https://dart-review.googlesource.com/c/sdk/+/497240/comment/275b2e79_902b4da9/ Part of https://github.com/dart-lang/sdk/issues/61572 Change-Id: I476d3ed9a5e02bc639c5848c064d89ee0d4f742e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/504520 Commit-Queue: Chloe Stefantsova <cstefantsova@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
committed by
dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
58e0b77bd6
commit
cbb94bc140
@@ -634,13 +634,7 @@ mixin _ExtensionTypeConstructorEncodingMixin<T extends DeclarationBuilder>
|
||||
typeArguments = [];
|
||||
}
|
||||
|
||||
_thisVariable =
|
||||
libraryBuilder
|
||||
.loader
|
||||
.target
|
||||
.backendTarget
|
||||
.flags
|
||||
.isClosureContextLoweringEnabled
|
||||
_thisVariable = libraryBuilder.loader.isClosureContextLoweringEnabled
|
||||
?
|
||||
// Coverage-ignore(suite): Not run.
|
||||
(new PositionalParameter(
|
||||
|
||||
@@ -650,9 +650,6 @@ class RegularFieldDeclaration
|
||||
.builder
|
||||
.libraryBuilder
|
||||
.loader
|
||||
.target
|
||||
.backendTarget
|
||||
.flags
|
||||
.isClosureContextLoweringEnabled,
|
||||
);
|
||||
} else {
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -263,9 +263,6 @@ class MethodDeclarationImpl
|
||||
isClosureContextLoweringEnabled: enclosingClassBuilder
|
||||
.libraryBuilder
|
||||
.loader
|
||||
.target
|
||||
.backendTarget
|
||||
.flags
|
||||
.isClosureContextLoweringEnabled,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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, {
|
||||
|
||||
@@ -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, {
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
},
|
||||
|
||||
@@ -377,11 +377,8 @@ class BuilderFactory {
|
||||
ConstructorEncodingStrategy encodingStrategy =
|
||||
new ConstructorEncodingStrategy(
|
||||
_declarationBuilder!,
|
||||
isClosureContextLoweringEnabled: _loader
|
||||
.target
|
||||
.backendTarget
|
||||
.flags
|
||||
.isClosureContextLoweringEnabled,
|
||||
isClosureContextLoweringEnabled:
|
||||
_loader.isClosureContextLoweringEnabled,
|
||||
);
|
||||
|
||||
ConstructorReferences constructorReferences = new ConstructorReferences(
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user