Skip to content

Commit ae03b57

Browse files
johnniwintherCommit Queue
authored and
Commit Queue
committed
[cfe] Remove .isNonNullableByDefault from package:kernel
This removes the .isNonNullableByDefault properties and similar from the AST nodes in package:kernel. NNBD is now always enabled so these properties are trivial. TEST=existing Change-Id: I75ca0551ac4b5910ea63530dd0c9c2e68bd01aff Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366320 Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Chloe Stefantsova <[email protected]> Reviewed-by: Alexander Markov <[email protected]> Reviewed-by: Sigmund Cherem <[email protected]>
1 parent 4bf22f4 commit ae03b57

File tree

68 files changed

+195
-618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+195
-618
lines changed

pkg/compiler/lib/src/kernel/transformations/modular/late_lowering.dart

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,6 @@ class LateLowering {
327327
fileUri: fileUri,
328328
fieldReference: field.fieldReference)
329329
..fileOffset = fileOffset
330-
..isNonNullableByDefault = true
331330
// TODO(fishythefish,srujzs,johnniwinther): Also mark the getter/setter
332331
// as extension/extension type members.
333332
..isExtensionMember = field.isExtensionMember
@@ -347,8 +346,7 @@ class LateLowering {
347346
isStatic: true,
348347
fileUri: fileUri,
349348
reference: field.getterReference)
350-
..fileOffset = fileOffset
351-
..isNonNullableByDefault = true;
349+
..fileOffset = fileOffset;
352350

353351
VariableDeclaration setterValue =
354352
VariableDeclaration('value', type: type, isSynthesized: true)
@@ -374,8 +372,7 @@ class LateLowering {
374372
isStatic: true,
375373
fileUri: fileUri,
376374
reference: field.setterReference)
377-
..fileOffset = fileOffset
378-
..isNonNullableByDefault = true;
375+
..fileOffset = fileOffset;
379376

380377
TreeNode parent = field.parent!;
381378
if (parent is Class) {
@@ -419,7 +416,6 @@ class LateLowering {
419416
fileUri: fileUri,
420417
fieldReference: field.fieldReference)
421418
..fileOffset = fileOffset
422-
..isNonNullableByDefault = true
423419
..isInternalImplementation = true;
424420
InstanceGet fieldRead() => InstanceGet(InstanceAccessKind.Instance,
425421
ThisExpression()..fileOffset = fileOffset, mangledName,
@@ -538,8 +534,7 @@ class LateLowering {
538534
Procedure getter = Procedure(name, ProcedureKind.Getter,
539535
FunctionNode(getterBody(), returnType: type)..fileOffset = fileOffset,
540536
fileUri: fileUri, reference: field.getterReference)
541-
..fileOffset = fileOffset
542-
..isNonNullableByDefault = true;
537+
..fileOffset = fileOffset;
543538
// The initializer is copied from [field] to [getter] so we copy the
544539
// transformer flags to reflect whether the getter contains super calls.
545540
getter.transformerFlags = field.transformerFlags;
@@ -596,8 +591,7 @@ class LateLowering {
596591
..fileOffset = fileOffset,
597592
fileUri: fileUri,
598593
reference: field.setterReference)
599-
..fileOffset = fileOffset
600-
..isNonNullableByDefault = true;
594+
..fileOffset = fileOffset;
601595
_copyAnnotations(setter, field);
602596
enclosingClass.addProcedure(setter);
603597
}

pkg/dart2wasm/lib/ffi_native_transformer.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,7 @@ class WasmFfiNativeTransformer extends FfiNativeTransformer {
191191
isExternal: true,
192192
isStatic: true,
193193
isSynthetic: true)
194-
..fileOffset = node.fileOffset
195-
..isNonNullableByDefault = true;
194+
..fileOffset = node.fileOffset;
196195
wasmImportProcedure.addAnnotation(wasmImportPragma);
197196
currentLibrary.addProcedure(wasmImportProcedure);
198197

pkg/dart2wasm/lib/js/method_collector.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ class MethodCollector {
2828
{required bool isExternal}) {
2929
final procedure = Procedure(
3030
Name(name, _library), ProcedureKind.Method, function,
31-
isStatic: true, isExternal: isExternal, fileUri: fileUri)
32-
..isNonNullableByDefault = true;
31+
isStatic: true, isExternal: isExternal, fileUri: fileUri);
3332
_util.annotateProcedure(procedure, pragmaOptionString, type);
3433
_library.addProcedure(procedure);
3534
return procedure;

pkg/dart2wasm/lib/transformers.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,7 @@ class _WasmTransformer extends Transformer {
193193
),
194194
isExternal: true,
195195
isSynthetic: true,
196-
fileUri: cls.fileUri)
197-
..isNonNullableByDefault = true;
196+
fileUri: cls.fileUri);
198197
cls.addProcedure(getTypeArguments);
199198
}
200199
return super.visitClass(cls);

pkg/dev_compiler/lib/src/kernel/compiler.dart

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2533,11 +2533,8 @@ class ProgramCompiler extends ComputeOnceConstantVisitor<js_ast.Expression>
25332533
}
25342534
_currentUri = savedUri;
25352535

2536-
return runtimeStatement('defineLazy(#, { # }, #)', [
2537-
objExpr,
2538-
accessors,
2539-
js.boolean(!_currentLibrary!.isNonNullableByDefault)
2540-
]);
2536+
return runtimeStatement(
2537+
'defineLazy(#, { # }, #)', [objExpr, accessors, js.boolean(false)]);
25412538
}
25422539

25432540
js_ast.Fun _emitStaticFieldInitializer(Field field) {
@@ -3543,14 +3540,7 @@ class ProgramCompiler extends ComputeOnceConstantVisitor<js_ast.Expression>
35433540
//
35443541
// In the body of an `async`, `await` is generated simply as `yield`.
35453542
var gen = emitGeneratorFn((_) => []);
3546-
var returnType = _currentLibrary!.isNonNullableByDefault
3547-
? function.emittedValueType!
3548-
// Otherwise flatten the return type because futureValueType(T) is not
3549-
// defined for legacy libraries.
3550-
: _types.flatten(function
3551-
.computeThisFunctionType(_currentLibrary!.nonNullable,
3552-
reuseTypeParameters: true)
3553-
.returnType);
3543+
var returnType = function.emittedValueType!;
35543544
return js.call('#.async(#, #)',
35553545
[emitLibraryName(_coreTypes.asyncLibrary), _emitType(returnType), gen]);
35563546
}

pkg/front_end/lib/src/fasta/incremental_compiler.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,8 +2081,7 @@ class IncrementalCompiler implements IncrementalKernelGenerator {
20812081

20822082
Procedure procedure = new Procedure(
20832083
new Name(syntheticProcedureName), ProcedureKind.Method, parameters,
2084-
isStatic: isStatic, fileUri: debugLibrary.fileUri)
2085-
..isNonNullableByDefault = true;
2084+
isStatic: isStatic, fileUri: debugLibrary.fileUri);
20862085

20872086
parameters.body = new ReturnStatement(compiledExpression)
20882087
..parent = parameters;

pkg/front_end/lib/src/fasta/kernel/body_builder.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5248,9 +5248,8 @@ class BodyBuilder extends StackListenerImpl
52485248
DartType type = buildDartType(pop() as TypeBuilder, TypeUse.asType,
52495249
allowPotentiallyConstantType: true);
52505250
Expression expression = popForValue();
5251-
Expression asExpression = forest.createAsExpression(
5252-
offsetForToken(operator), expression, type,
5253-
forNonNullableByDefault: true);
5251+
Expression asExpression =
5252+
forest.createAsExpression(offsetForToken(operator), expression, type);
52545253
push(asExpression);
52555254
}
52565255

@@ -5292,7 +5291,6 @@ class BodyBuilder extends StackListenerImpl
52925291
Expression operand = popForValue();
52935292
Expression isExpression = forest.createIsExpression(
52945293
offsetForToken(isOperator), operand, type,
5295-
forNonNullableByDefault: true,
52965294
notFileOffset: not != null ? offsetForToken(not) : null);
52975295
push(isExpression);
52985296
}

pkg/front_end/lib/src/fasta/kernel/combined_member_signature.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,7 @@ abstract class CombinedMemberSignatureBase {
289289
}
290290
DartType canonicalMemberType =
291291
_combinedMemberSignatureType = getMemberType(_canonicalMemberIndex!);
292-
_containsNnbdTypes =
293-
_getMember(_canonicalMemberIndex!).isNonNullableByDefault;
292+
_containsNnbdTypes = true;
294293
if (_mutualSubtypes != null) {
295294
_combinedMemberSignatureType =
296295
norm(_coreTypes, _combinedMemberSignatureType!);
@@ -511,7 +510,6 @@ abstract class CombinedMemberSignatureBase {
511510
)
512511
..fileStartOffset = startFileOffset
513512
..fileOffset = fileOffset
514-
..isNonNullableByDefault = containsNnbdTypes
515513
..parent = declarationNode;
516514
}
517515

@@ -560,7 +558,6 @@ abstract class CombinedMemberSignatureBase {
560558
)
561559
..fileStartOffset = startFileOffset
562560
..fileOffset = fileOffset
563-
..isNonNullableByDefault = containsNnbdTypes
564561
..parent = declarationNode;
565562
}
566563

@@ -650,7 +647,6 @@ abstract class CombinedMemberSignatureBase {
650647
)
651648
..fileStartOffset = startFileOffset
652649
..fileOffset = fileOffset
653-
..isNonNullableByDefault = containsNnbdTypes
654650
..parent = declarationNode;
655651
}
656652

pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4871,11 +4871,8 @@ class ConstantEvaluator implements ExpressionVisitor<Constant> {
48714871
final Constant constant = _evaluateSubexpression(node.operand);
48724872
if (constant is AbortConstant) return constant;
48734873
if (shouldBeUnevaluated) {
4874-
return unevaluated(
4875-
node,
4876-
new AsExpression(_wrap(constant), env.substituteType(node.type))
4877-
..isForNonNullableByDefault =
4878-
staticTypeContext.isNonNullableByDefault);
4874+
return unevaluated(node,
4875+
new AsExpression(_wrap(constant), env.substituteType(node.type)));
48794876
}
48804877
DartType? type = _evaluateDartType(node, node.type);
48814878
if (type == null) {
@@ -4895,8 +4892,7 @@ class ConstantEvaluator implements ExpressionVisitor<Constant> {
48954892
return unevaluated(
48964893
node,
48974894
new IsExpression(_wrap(constant), env.substituteType(node.type))
4898-
..fileOffset = node.fileOffset
4899-
..flags = node.flags);
4895+
..fileOffset = node.fileOffset);
49004896
}
49014897

49024898
DartType? type = _evaluateDartType(node, node.type);

pkg/front_end/lib/src/fasta/kernel/constructor_tearoff_lowering.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,7 @@ Procedure _createTearOffProcedure(SourceLibraryBuilder libraryBuilder,
280280
fileUri: fileUri, isStatic: true, isSynthetic: true, reference: reference)
281281
..fileStartOffset = fileOffset
282282
..fileOffset = fileOffset
283-
..fileEndOffset = fileOffset
284-
..isNonNullableByDefault = true;
283+
..fileEndOffset = fileOffset;
285284
tearOffName.attachMember(tearOff);
286285
return tearOff;
287286
}

pkg/front_end/lib/src/fasta/kernel/forest.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,9 @@ class Forest {
203203

204204
Expression createAsExpression(
205205
int fileOffset, Expression expression, DartType type,
206-
{required bool forNonNullableByDefault, bool forDynamic = false}) {
206+
{bool forDynamic = false}) {
207207
return new AsExpression(expression, type)
208208
..fileOffset = fileOffset
209-
..isForNonNullableByDefault = forNonNullableByDefault
210209
..isForDynamic = forDynamic;
211210
}
212211

@@ -464,10 +463,9 @@ class Forest {
464463
/// is non-null the test is negated the that file offset.
465464
Expression createIsExpression(
466465
int fileOffset, Expression operand, DartType type,
467-
{required bool forNonNullableByDefault, int? notFileOffset}) {
466+
{int? notFileOffset}) {
468467
Expression result = new IsExpression(operand, type)
469-
..fileOffset = fileOffset
470-
..isForNonNullableByDefault = forNonNullableByDefault;
468+
..fileOffset = fileOffset;
471469
if (notFileOffset != null) {
472470
result = createNot(notFileOffset, result);
473471
}

pkg/front_end/lib/src/fasta/kernel/forwarding_node.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,6 @@ class ForwardingNode {
467467
result = new AsExpression(result, procedure.function.returnType)
468468
..isTypeError = true
469469
..isForDynamic = true
470-
..isForNonNullableByDefault = true
471470
..fileOffset = procedure.fileOffset;
472471
}
473472
}

pkg/front_end/lib/src/fasta/kernel/hierarchy/delayed.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
library fasta.class_hierarchy_builder;
66

77
import 'package:kernel/ast.dart';
8-
import 'package:kernel/src/legacy_erasure.dart';
98
import 'package:kernel/src/types.dart';
109
import 'package:kernel/type_algebra.dart';
1110
import 'package:kernel/type_environment.dart';
@@ -64,13 +63,12 @@ class DelayedOverrideCheck implements DelayedCheck {
6463
/// int? mixedInMethod(int? i, {int? j}) => i;
6564
/// }
6665
///
67-
bool declaredNeedsLegacyErasure =
68-
needsLegacyErasure(_classBuilder.cls, declaredMember.enclosingClass!);
66+
6967
void callback(Member interfaceMember, bool isSetter) {
7068
_classBuilder.checkOverride(membersBuilder.hierarchyBuilder.types,
7169
membersBuilder, declaredMember, interfaceMember, isSetter, callback,
7270
isInterfaceCheck: !_classBuilder.isMixinApplication,
73-
declaredNeedsLegacyErasure: declaredNeedsLegacyErasure);
71+
declaredNeedsLegacyErasure: false);
7472
}
7573

7674
for (ClassMember overriddenMember in _overriddenMembers) {

pkg/front_end/lib/src/fasta/kernel/hierarchy/mixin_inferrer.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,7 @@ class BuilderMixinInferrer {
165165
}
166166
// Use instantiate to bounds.
167167
List<DartType> bounds = calculateBounds(parameters, coreTypes.objectClass,
168-
isNonNullableByDefault:
169-
classNode.enclosingLibrary.isNonNullableByDefault);
168+
isNonNullableByDefault: true);
170169
for (int i = 0; i < mixedInType.typeArguments.length; ++i) {
171170
mixedInType.typeArguments[i] = bounds[i];
172171
}

pkg/front_end/lib/src/fasta/kernel/kernel_target.dart

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1098,17 +1098,17 @@ class KernelTarget extends TargetImplementation {
10981098
SuperInitializer initializer = new SuperInitializer(
10991099
superConstructor, new Arguments(positional, named: named));
11001100
Constructor constructor = new Constructor(function,
1101-
name: superConstructor.name,
1102-
initializers: <Initializer>[initializer],
1103-
isSynthetic: true,
1104-
isConst: isConst,
1105-
reference: constructorReference,
1106-
fileUri: cls.fileUri)
1107-
..fileOffset = cls.fileOffset
1108-
// TODO(johnniwinther): Should we add file end offset to synthesized
1109-
// constructors?
1110-
//..fileEndOffset = cls.fileOffset
1111-
..isNonNullableByDefault = cls.enclosingLibrary.isNonNullableByDefault;
1101+
name: superConstructor.name,
1102+
initializers: <Initializer>[initializer],
1103+
isSynthetic: true,
1104+
isConst: isConst,
1105+
reference: constructorReference,
1106+
fileUri: cls.fileUri)
1107+
..fileOffset = cls.fileOffset
1108+
// TODO(johnniwinther): Should we add file end offset to synthesized
1109+
// constructors?
1110+
//..fileEndOffset = cls.fileOffset
1111+
;
11121112
DelayedDefaultValueCloner delayedDefaultValueCloner =
11131113
new DelayedDefaultValueCloner(superConstructor, constructor,
11141114
libraryBuilder: libraryBuilder);
@@ -1193,17 +1193,17 @@ class KernelTarget extends TargetImplementation {
11931193
SourceLibraryBuilder libraryBuilder = classBuilder.libraryBuilder;
11941194
Class enclosingClass = classBuilder.cls;
11951195
Constructor constructor = new Constructor(
1196-
new FunctionNode(new EmptyStatement(),
1197-
returnType: makeConstructorReturnType(enclosingClass)),
1198-
name: new Name(""),
1199-
isSynthetic: true,
1200-
reference: constructorReference,
1201-
fileUri: enclosingClass.fileUri)
1202-
..fileOffset = enclosingClass.fileOffset
1203-
// TODO(johnniwinther): Should we add file end offsets to synthesized
1204-
// constructors?
1205-
//..fileEndOffset = enclosingClass.fileOffset
1206-
..isNonNullableByDefault = true;
1196+
new FunctionNode(new EmptyStatement(),
1197+
returnType: makeConstructorReturnType(enclosingClass)),
1198+
name: new Name(""),
1199+
isSynthetic: true,
1200+
reference: constructorReference,
1201+
fileUri: enclosingClass.fileUri)
1202+
..fileOffset = enclosingClass.fileOffset
1203+
// TODO(johnniwinther): Should we add file end offsets to synthesized
1204+
// constructors?
1205+
//..fileEndOffset = enclosingClass.fileOffset
1206+
;
12071207
Procedure? constructorTearOff = createConstructorTearOffProcedure(
12081208
new MemberName(libraryBuilder.libraryName, constructorTearOffName('')),
12091209
libraryBuilder,

pkg/front_end/lib/src/fasta/kernel/load_library_builder.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@ class LoadLibraryBuilder extends BuilderImpl {
6464
isStatic: true,
6565
reference: reference)
6666
..fileStartOffset = charOffset
67-
..fileOffset = charOffset
68-
..isNonNullableByDefault = true;
67+
..fileOffset = charOffset;
6968
}
7069

7170
@override

pkg/front_end/lib/src/fasta/kernel/utils.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ Component createExpressionEvaluationComponent(Procedure procedure) {
135135
Uri uri = new Uri(scheme: 'evaluate', path: 'source');
136136
Library fakeLibrary = new Library(uri, fileUri: uri)
137137
..setLanguageVersion(realLibrary.languageVersion)
138-
..isNonNullableByDefault = realLibrary.isNonNullableByDefault
139138
..nonNullableByDefaultCompiledMode =
140139
realLibrary.nonNullableByDefaultCompiledMode;
141140

pkg/front_end/lib/src/fasta/source/source_class_builder.dart

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1556,11 +1556,6 @@ class SourceClassBuilder extends ClassBuilderImpl
15561556
declaredType = legacyErasure(declaredType);
15571557
}
15581558

1559-
if (!declaredMember.isNonNullableByDefault &&
1560-
interfaceMember.isNonNullableByDefault) {
1561-
interfaceType = legacyErasure(interfaceType);
1562-
}
1563-
15641559
bool inParameter = declaredParameter != null || asIfDeclaredParameter;
15651560
DartType subtype = inParameter ? interfaceType : declaredType;
15661561
DartType supertype = inParameter ? declaredType : interfaceType;
@@ -1830,10 +1825,8 @@ class SourceClassBuilder extends ClassBuilderImpl
18301825
declaredParameter,
18311826
isInterfaceCheck,
18321827
declaredNeedsLegacyErasure);
1833-
if (declaredMember.isNonNullableByDefault &&
1834-
!declaredNeedsLegacyErasure &&
1828+
if (!declaredNeedsLegacyErasure &&
18351829
declaredParameter.isRequired &&
1836-
interfaceMember.isNonNullableByDefault &&
18371830
!interfaceNamedParameters.current.isRequired) {
18381831
reportInvalidOverride(
18391832
isInterfaceCheck,

0 commit comments

Comments
 (0)