Skip to content

Commit d80cff6

Browse files
johnniwinthercommit-bot@chromium.org
authored andcommitted
[cfe] Rename isCovariant and isGenericCovariantImpl
- to isCovariantByDeclaration and isCovariantByClass, respectively. This is done to align the terminology with the spec. TEST=existing Change-Id: I96b2e5d6e05caca431aad2b54545e928aee034e5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213041 Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Dmitry Stefantsov <[email protected]>
1 parent a82a220 commit d80cff6

28 files changed

+203
-177
lines changed

pkg/compiler/lib/src/js_model/element_map_impl.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,8 @@ class JsKernelToElementMap implements JsToElementMap, IrToElementMap {
882882

883883
DartType getParameterType(ir.VariableDeclaration variable) {
884884
// isCovariant implies this FunctionNode is a class Procedure.
885-
var isCovariant = variable.isCovariant || variable.isGenericCovariantImpl;
885+
var isCovariant =
886+
variable.isCovariantByDeclaration || variable.isCovariantByClass;
886887
var isFromNonNullableByDefaultLibrary = isCovariant &&
887888
(node.parent as ir.Procedure).enclosingLibrary.isNonNullableByDefault;
888889
return types.getTearOffParameterType(getDartType(variable.type),

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,8 @@ class KernelToElementMapImpl implements KernelToElementMap, IrToElementMap {
518518

519519
DartType getParameterType(ir.VariableDeclaration variable) {
520520
// isCovariant implies this FunctionNode is a class Procedure.
521-
var isCovariant = variable.isCovariant || variable.isGenericCovariantImpl;
521+
var isCovariant =
522+
variable.isCovariantByDeclaration || variable.isCovariantByClass;
522523
var isFromNonNullableByDefaultLibrary = isCovariant &&
523524
(node.parent as ir.Procedure).enclosingLibrary.isNonNullableByDefault;
524525
return types.getTearOffParameterType(getDartType(variable.type),

pkg/compiler/lib/src/ssa/builder_kernel.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1409,7 +1409,7 @@ class KernelSsaGraphBuilder extends ir.Visitor<void> with ir.VisitorVoidMixin {
14091409

14101410
if (targetChecks.checkAllParameters ||
14111411
(targetChecks.checkCovariantParameters &&
1412-
(variable.isGenericCovariantImpl || variable.isCovariant))) {
1412+
(variable.isCovariantByClass || variable.isCovariantByDeclaration))) {
14131413
newParameter = _typeBuilder.potentiallyCheckOrTrustTypeOfParameter(
14141414
targetElement, newParameter, type);
14151415
} else {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3719,7 +3719,7 @@ class ProgramCompiler extends ComputeOnceConstantVisitor<js_ast.Expression>
37193719
void _emitCovarianceBoundsCheck(
37203720
List<TypeParameter> typeFormals, List<js_ast.Statement> body) {
37213721
for (var t in typeFormals) {
3722-
if (t.isGenericCovariantImpl && !_types.isTop(t.bound)) {
3722+
if (t.isCovariantByClass && !_types.isTop(t.bound)) {
37233723
body.add(runtimeStatement('checkTypeBound(#, #, #)', [
37243724
_emitTypeParameterType(TypeParameterType(t, Nullability.undetermined),
37253725
emitNullability: false),

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,13 @@ bool isInlineJS(Member e) =>
211211
/// Whether the parameter [p] is covariant (either explicitly `covariant` or
212212
/// implicitly due to generics) and needs a check for soundness.
213213
bool isCovariantParameter(VariableDeclaration p) {
214-
return p.isCovariant || p.isGenericCovariantImpl;
214+
return p.isCovariantByDeclaration || p.isCovariantByClass;
215215
}
216216

217217
/// Whether the field [p] is covariant (either explicitly `covariant` or
218218
/// implicitly due to generics) and needs a check for soundness.
219219
bool isCovariantField(Field f) {
220-
return f.isCovariant || f.isGenericCovariantImpl;
220+
return f.isCovariantByDeclaration || f.isCovariantByClass;
221221
}
222222

223223
/// Returns true iff this factory constructor just throws [UnsupportedError]/

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,8 @@ class ClassPropertyModel {
273273
var name = field.name.text;
274274
if (virtualAccessorNames.contains(name) ||
275275
fieldModel.isVirtual(field) ||
276-
field.isCovariant ||
277-
field.isGenericCovariantImpl) {
276+
field.isCovariantByDeclaration ||
277+
field.isCovariantByClass) {
278278
virtualFields[field] = js_ast.TemporaryId(js_ast.toJSIdentifier(name));
279279
}
280280
}

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -276,14 +276,15 @@ class _CovarianceTransformer extends RecursiveVisitor {
276276

277277
_CovarianceTransformer(this._library);
278278

279-
/// Transforms [_library], eliminating unncessary checks for private members.
279+
/// Transforms [_library], eliminating unnecessary checks for private members.
280280
///
281281
/// Kernel will mark covariance checks on members, for example:
282-
/// - a field with [Field.isGenericCovariantImpl] or [Field.isCovariant].
282+
/// - a field with [Field.isCovariantByClass] or
283+
/// [Field.isCovariantByDeclaration].
283284
/// - a method/setter with parameter(s) or type parameter(s) that have
284-
/// `isGenericCovariantImpl` or `isCovariant` set.
285+
/// `isCovariantByClass` or `isCovariantByDeclaration` set.
285286
///
286-
/// If the check can be safely eliminanted, those properties will be set to
287+
/// If the check can be safely eliminated, those properties will be set to
287288
/// false so the JS compiler does not emit checks.
288289
///
289290
/// Public members always need covariance checks (we cannot see all potential
@@ -319,13 +320,13 @@ class _CovarianceTransformer extends RecursiveVisitor {
319320
// Update the tree based on the methods that need checks.
320321
for (var field in _privateFields) {
321322
if (!_checkedMembers.contains(field)) {
322-
field.isCovariant = false;
323-
field.isGenericCovariantImpl = false;
323+
field.isCovariantByDeclaration = false;
324+
field.isCovariantByClass = false;
324325
}
325326
}
326327
void clearCovariant(VariableDeclaration parameter) {
327-
parameter.isCovariant = false;
328-
parameter.isGenericCovariantImpl = false;
328+
parameter.isCovariantByDeclaration = false;
329+
parameter.isCovariantByClass = false;
329330
}
330331

331332
for (var member in _privateProcedures) {
@@ -334,7 +335,7 @@ class _CovarianceTransformer extends RecursiveVisitor {
334335
function.positionalParameters.forEach(clearCovariant);
335336
function.namedParameters.forEach(clearCovariant);
336337
for (var t in function.typeParameters) {
337-
t.isGenericCovariantImpl = false;
338+
t.isCovariantByClass = false;
338339
}
339340
}
340341
}

pkg/front_end/lib/src/fasta/builder/field_builder.dart

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ abstract class FieldBuilder implements MemberBuilder {
5050

5151
TypeBuilder? get type;
5252

53-
bool get isCovariant;
53+
bool get isCovariantByDeclaration;
5454

5555
bool get isLate;
5656

@@ -154,7 +154,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
154154
isAbstract: isAbstract,
155155
isExternal: isExternal,
156156
isFinal: isFinal,
157-
isCovariant: isCovariant,
157+
isCovariantByDeclaration: isCovariantByDeclaration,
158158
isNonNullableByDefault: library.isNonNullableByDefault);
159159
} else if (isLate &&
160160
libraryBuilder.loader.target.backendTarget.isLateFieldLoweringEnabled(
@@ -175,7 +175,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
175175
lateIsSetSetterReference,
176176
lateGetterReference,
177177
lateSetterReference,
178-
isCovariant,
178+
isCovariantByDeclaration,
179179
isSetStrategy);
180180
} else {
181181
_fieldEncoding = new LateFieldWithInitializerEncoding(
@@ -190,7 +190,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
190190
lateIsSetSetterReference,
191191
lateGetterReference,
192192
lateSetterReference,
193-
isCovariant,
193+
isCovariantByDeclaration,
194194
isSetStrategy);
195195
}
196196
} else {
@@ -207,7 +207,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
207207
lateIsSetSetterReference,
208208
lateGetterReference,
209209
lateSetterReference,
210-
isCovariant,
210+
isCovariantByDeclaration,
211211
isSetStrategy);
212212
} else {
213213
_fieldEncoding = new LateFieldWithoutInitializerEncoding(
@@ -222,7 +222,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
222222
lateIsSetSetterReference,
223223
lateGetterReference,
224224
lateSetterReference,
225-
isCovariant,
225+
isCovariantByDeclaration,
226226
isSetStrategy);
227227
}
228228
}
@@ -244,7 +244,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
244244
lateIsSetSetterReference,
245245
lateGetterReference,
246246
lateSetterReference,
247-
isCovariant,
247+
isCovariantByDeclaration,
248248
isSetStrategy);
249249
} else {
250250
_fieldEncoding = new LateFieldWithInitializerEncoding(
@@ -259,7 +259,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
259259
lateIsSetSetterReference,
260260
lateGetterReference,
261261
lateSetterReference,
262-
isCovariant,
262+
isCovariantByDeclaration,
263263
isSetStrategy);
264264
}
265265
} else {
@@ -320,7 +320,7 @@ class SourceFieldBuilder extends MemberBuilderImpl implements FieldBuilder {
320320
bool get isLate => (modifiers & lateMask) != 0;
321321

322322
@override
323-
bool get isCovariant => (modifiers & covariantMask) != 0;
323+
bool get isCovariantByDeclaration => (modifiers & covariantMask) != 0;
324324

325325
@override
326326
bool get hasInitializer => (modifiers & hasInitializerMask) != 0;
@@ -665,7 +665,7 @@ class RegularFieldEncoding implements FieldEncoding {
665665
@override
666666
void build(
667667
SourceLibraryBuilder libraryBuilder, SourceFieldBuilder fieldBuilder) {
668-
_field..isCovariant = fieldBuilder.isCovariant;
668+
_field..isCovariantByDeclaration = fieldBuilder.isCovariantByDeclaration;
669669
if (fieldBuilder.isExtensionMember) {
670670
_field
671671
..isStatic = true
@@ -695,7 +695,7 @@ class RegularFieldEncoding implements FieldEncoding {
695695

696696
@override
697697
void setGenericCovariantImpl() {
698-
_field.isGenericCovariantImpl = true;
698+
_field.isCovariantByClass = true;
699699
}
700700

701701
@override
@@ -814,7 +814,7 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding {
814814
Reference? lateIsSetSetterReference,
815815
Reference? lateGetterReference,
816816
Reference? lateSetterReference,
817-
bool isCovariant,
817+
bool isCovariantByDeclaration,
818818
late_lowering.IsSetStrategy isSetStrategy)
819819
: fileOffset = charOffset,
820820
fileEndOffset = charEndOffset,
@@ -867,7 +867,7 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding {
867867
fileUri,
868868
charOffset,
869869
lateSetterReference,
870-
isCovariant: isCovariant);
870+
isCovariantByDeclaration: isCovariantByDeclaration);
871871
}
872872

873873
late_lowering.IsSetEncoding get isSetEncoding {
@@ -975,11 +975,11 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding {
975975

976976
Procedure? _createSetter(
977977
Name name, Uri fileUri, int charOffset, Reference? reference,
978-
{required bool isCovariant}) {
978+
{required bool isCovariantByDeclaration}) {
979979
// ignore: unnecessary_null_comparison
980-
assert(isCovariant != null);
980+
assert(isCovariantByDeclaration != null);
981981
VariableDeclaration parameter = new VariableDeclaration(null)
982-
..isCovariant = isCovariant
982+
..isCovariantByDeclaration = isCovariantByDeclaration
983983
..fileOffset = fileOffset;
984984
return new Procedure(
985985
name,
@@ -1025,9 +1025,8 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding {
10251025

10261026
@override
10271027
void setGenericCovariantImpl() {
1028-
_field.isGenericCovariantImpl = true;
1029-
_lateSetter?.function.positionalParameters.single.isGenericCovariantImpl =
1030-
true;
1028+
_field.isCovariantByClass = true;
1029+
_lateSetter?.function.positionalParameters.single.isCovariantByClass = true;
10311030
}
10321031

10331032
@override
@@ -1198,7 +1197,7 @@ class LateFieldWithoutInitializerEncoding extends AbstractLateFieldEncoding
11981197
Reference? lateIsSetSetterReference,
11991198
Reference? lateGetterReference,
12001199
Reference? lateSetterReference,
1201-
bool isCovariant,
1200+
bool isCovariantByDeclaration,
12021201
late_lowering.IsSetStrategy isSetStrategy)
12031202
: super(
12041203
name,
@@ -1212,7 +1211,7 @@ class LateFieldWithoutInitializerEncoding extends AbstractLateFieldEncoding
12121211
lateIsSetSetterReference,
12131212
lateGetterReference,
12141213
lateSetterReference,
1215-
isCovariant,
1214+
isCovariantByDeclaration,
12161215
isSetStrategy);
12171216
}
12181217

@@ -1230,7 +1229,7 @@ class LateFieldWithInitializerEncoding extends AbstractLateFieldEncoding
12301229
Reference? lateIsSetSetterReference,
12311230
Reference? lateGetterReference,
12321231
Reference? lateSetterReference,
1233-
bool isCovariant,
1232+
bool isCovariantByDeclaration,
12341233
late_lowering.IsSetStrategy isSetStrategy)
12351234
: super(
12361235
name,
@@ -1244,7 +1243,7 @@ class LateFieldWithInitializerEncoding extends AbstractLateFieldEncoding
12441243
lateIsSetSetterReference,
12451244
lateGetterReference,
12461245
lateSetterReference,
1247-
isCovariant,
1246+
isCovariantByDeclaration,
12481247
isSetStrategy);
12491248

12501249
@override
@@ -1277,7 +1276,7 @@ class LateFinalFieldWithoutInitializerEncoding extends AbstractLateFieldEncoding
12771276
Reference? lateIsSetSetterReference,
12781277
Reference? lateGetterReference,
12791278
Reference? lateSetterReference,
1280-
bool isCovariant,
1279+
bool isCovariantByDeclaration,
12811280
late_lowering.IsSetStrategy isSetStrategy)
12821281
: super(
12831282
name,
@@ -1291,7 +1290,7 @@ class LateFinalFieldWithoutInitializerEncoding extends AbstractLateFieldEncoding
12911290
lateIsSetSetterReference,
12921291
lateGetterReference,
12931292
lateSetterReference,
1294-
isCovariant,
1293+
isCovariantByDeclaration,
12951294
isSetStrategy);
12961295

12971296
@override
@@ -1325,7 +1324,7 @@ class LateFinalFieldWithInitializerEncoding extends AbstractLateFieldEncoding {
13251324
Reference? lateIsSetSetterReference,
13261325
Reference? lateGetterReference,
13271326
Reference? lateSetterReference,
1328-
bool isCovariant,
1327+
bool isCovariantByDeclaration,
13291328
late_lowering.IsSetStrategy isSetStrategy)
13301329
: super(
13311330
name,
@@ -1339,7 +1338,7 @@ class LateFinalFieldWithInitializerEncoding extends AbstractLateFieldEncoding {
13391338
lateIsSetSetterReference,
13401339
lateGetterReference,
13411340
lateSetterReference,
1342-
isCovariant,
1341+
isCovariantByDeclaration,
13431342
isSetStrategy);
13441343
@override
13451344
Statement _createGetterBody(
@@ -1360,7 +1359,7 @@ class LateFinalFieldWithInitializerEncoding extends AbstractLateFieldEncoding {
13601359
@override
13611360
Procedure? _createSetter(
13621361
Name name, Uri fileUri, int charOffset, Reference? reference,
1363-
{required bool isCovariant}) =>
1362+
{required bool isCovariantByDeclaration}) =>
13641363
null;
13651364

13661365
@override
@@ -1537,7 +1536,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
15371536
{required this.isAbstract,
15381537
required this.isExternal,
15391538
required bool isFinal,
1540-
required bool isCovariant,
1539+
required bool isCovariantByDeclaration,
15411540
required bool isNonNullableByDefault})
15421541
// ignore: unnecessary_null_comparison
15431542
: assert(isAbstract != null),
@@ -1546,7 +1545,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
15461545
// ignore: unnecessary_null_comparison
15471546
assert(isFinal != null),
15481547
// ignore: unnecessary_null_comparison
1549-
assert(isCovariant != null),
1548+
assert(isCovariantByDeclaration != null),
15501549
// ignore: unnecessary_null_comparison
15511550
assert(isNonNullableByDefault != null),
15521551
_isExtensionInstanceMember = isExternal &&
@@ -1567,7 +1566,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
15671566
if (!isFinal) {
15681567
VariableDeclaration parameter =
15691568
new VariableDeclaration("#externalFieldValue")
1570-
..isCovariant = isCovariant
1569+
..isCovariantByDeclaration = isCovariantByDeclaration
15711570
..fileOffset = charOffset;
15721571
_setter = new Procedure(
15731572
nameScheme.getProcedureName(ProcedureKind.Setter, name),
@@ -1600,7 +1599,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
16001599
if (!isFinal) {
16011600
VariableDeclaration parameter =
16021601
new VariableDeclaration("#externalFieldValue")
1603-
..isCovariant = isCovariant
1602+
..isCovariantByDeclaration = isCovariantByDeclaration
16041603
..fileOffset = charOffset;
16051604
_setter = new Procedure(
16061605
nameScheme.getFieldName(FieldNameType.Setter, name,
@@ -1742,7 +1741,7 @@ class AbstractOrExternalFieldEncoding implements FieldEncoding {
17421741

17431742
@override
17441743
void setGenericCovariantImpl() {
1745-
_setter!.function.positionalParameters.first.isGenericCovariantImpl = true;
1744+
_setter!.function.positionalParameters.first.isCovariantByClass = true;
17461745
}
17471746

17481747
@override

pkg/front_end/lib/src/fasta/builder/formal_parameter_builder.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ class FormalParameterBuilder extends ModifierBuilderImpl
116116

117117
bool get isInitializingFormal => (modifiers & initializingFormalMask) != 0;
118118

119-
bool get isCovariant => (modifiers & covariantMask) != 0;
119+
bool get isCovariantByDeclaration => (modifiers & covariantMask) != 0;
120120

121121
// An initializing formal parameter might be final without its
122122
// VariableDeclaration being final. See
@@ -142,7 +142,7 @@ class FormalParameterBuilder extends ModifierBuilderImpl
142142
isFinal: isFinal,
143143
isConst: isConst,
144144
isFieldFormal: isInitializingFormal,
145-
isCovariant: isCovariant,
145+
isCovariantByDeclaration: isCovariantByDeclaration,
146146
isRequired: isNamedRequired,
147147
hasDeclaredInitializer: hasDeclaredInitializer,
148148
isLowered: isExtensionThis)

0 commit comments

Comments
 (0)