@@ -1268,12 +1268,13 @@ abstract class SubtypeTest<T, E> {
1268
1268
// Tests for extension types.
1269
1269
isSubtype ("Never" , "NullableExtensionType" );
1270
1270
isSubtype ("Never" , "NonNullableExtensionType" );
1271
- isSubtype ("Never" , "GenericExtensionType <Object>" );
1272
- isSubtype ("Never" , "GenericExtensionSubType <Object>" );
1271
+ isSubtype ("Never" , "PotentiallyNullableGenericExtensionType <Object>" );
1272
+ isSubtype ("Never" , "PotentiallyNullableGenericExtensionSubType <Object>" );
1273
1273
isSubtype ("Never" , "NonNullableGenericExtensionType<Object>" );
1274
1274
isSubtype ("Never" , "GenericExtensionTypeImplements<Object>" );
1275
1275
isSubtype ("Never" , "GenericSubExtensionTypeImplements<Object>" );
1276
- isSubtype ("Never" , "NestedGenericExtensionType<Object>" );
1276
+ isSubtype ("Never" , "PotentiallyNullableNestedGenericExtensionType<Object>" );
1277
+ isSubtype ("Never" , "NonNullableNestedGenericExtensionType<Object>" );
1277
1278
1278
1279
isSubtype ("NullableExtensionType" , "dynamic" );
1279
1280
isSubtype ("NullableExtensionType" , "void" );
@@ -1289,28 +1290,32 @@ abstract class SubtypeTest<T, E> {
1289
1290
isSubtype ("NonNullableExtensionType" , "Object" );
1290
1291
isObliviousSubtype ("NonNullableExtensionType?" , "Object" );
1291
1292
1292
- isSubtype ("GenericExtensionType<Object>" , "dynamic" );
1293
- isSubtype ("GenericExtensionType<Object>" , "void" );
1294
- isSubtype ("GenericExtensionType<Object>" , "Object?" );
1295
- isSubtype ("GenericExtensionType<Object>" , "FutureOr<dynamic>" );
1296
- isSubtype ("GenericExtensionType<Object>" , "Object" );
1297
- isObliviousSubtype ("GenericExtensionType<Object>?" , "Object" );
1293
+ isSubtype ("PotentiallyNullableGenericExtensionType<Object>" , "dynamic" );
1294
+ isSubtype ("PotentiallyNullableGenericExtensionType<Object>" , "void" );
1295
+ isSubtype ("PotentiallyNullableGenericExtensionType<Object>" , "Object?" );
1296
+ isSubtype (
1297
+ "PotentiallyNullableGenericExtensionType<Object>" , "FutureOr<dynamic>" );
1298
+ isSubtype ("NonNullableGenericExtensionType<Object>" , "Object" );
1299
+ isObliviousSubtype (
1300
+ "PotentiallyNullableGenericExtensionType<Object>?" , "Object" );
1298
1301
1299
- isObliviousSubtype ("GenericExtensionType <T>" , "Object" ,
1302
+ isObliviousSubtype ("PotentiallyNullableGenericExtensionType <T>" , "Object" ,
1300
1303
typeParameters: "T" );
1301
- isObliviousSubtype ("GenericExtensionType <T>?" , "Object" ,
1304
+ isObliviousSubtype ("PotentiallyNullableGenericExtensionType <T>?" , "Object" ,
1302
1305
typeParameters: "T" );
1303
- isSubtype ("GenericExtensionType <T>" , "Object" ,
1306
+ isSubtype ("NonNullableGenericExtensionType <T>" , "Object" ,
1304
1307
typeParameters: "T extends Object" );
1305
- isObliviousSubtype ("GenericExtensionType <T>?" , "Object" ,
1308
+ isObliviousSubtype ("PotentiallyNullableGenericExtensionType <T>?" , "Object" ,
1306
1309
typeParameters: "T extends Object" );
1307
1310
1308
- isSubtype ("GenericExtensionSubType<Object>" , "dynamic" );
1309
- isSubtype ("GenericExtensionSubType<Object>" , "void" );
1310
- isSubtype ("GenericExtensionSubType<Object>" , "Object?" );
1311
- isSubtype ("GenericExtensionSubType<Object>" , "FutureOr<dynamic>" );
1312
- isSubtype ("GenericExtensionSubType<Object>" , "Object" );
1313
- isObliviousSubtype ("GenericExtensionSubType<Object>?" , "Object" );
1311
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" , "dynamic" );
1312
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" , "void" );
1313
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" , "Object?" );
1314
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" ,
1315
+ "FutureOr<dynamic>" );
1316
+ isSubtype ("NonNullableGenericExtensionSubType<Object>" , "Object" );
1317
+ isObliviousSubtype (
1318
+ "PotentiallyNullableGenericExtensionSubType<Object>?" , "Object" );
1314
1319
1315
1320
isSubtype ("NonNullableGenericExtensionType<Object>" , "dynamic" );
1316
1321
isSubtype ("NonNullableGenericExtensionType<Object>" , "void" );
@@ -1333,20 +1338,45 @@ abstract class SubtypeTest<T, E> {
1333
1338
isSubtype ("GenericSubExtensionTypeImplements<Object>" , "Object" );
1334
1339
isObliviousSubtype ("GenericSubExtensionTypeImplements<Object>?" , "Object" );
1335
1340
1336
- isSubtype ("NestedGenericExtensionType<Object>" , "dynamic" );
1337
- isSubtype ("NestedGenericExtensionType<Object>" , "void" );
1338
- isSubtype ("NestedGenericExtensionType<Object>" , "Object?" );
1339
- isSubtype ("NestedGenericExtensionType<Object>" , "FutureOr<dynamic>" );
1340
- isSubtype ("NestedGenericExtensionType<Object>" , "Object" );
1341
- isObliviousSubtype ("NestedGenericExtensionType<Object>?" , "Object" );
1342
-
1343
- isObliviousSubtype ("NestedGenericExtensionType<T>" , "Object" ,
1341
+ isSubtype (
1342
+ "PotentiallyNullableNestedGenericExtensionType<Object>" , "dynamic" );
1343
+ isSubtype ("NonNullableNestedGenericExtensionType<Object>" , "dynamic" );
1344
+ isSubtype ("PotentiallyNullableNestedGenericExtensionType<Object>" , "void" );
1345
+ isSubtype ("NonNullableNestedGenericExtensionType<Object>" , "void" );
1346
+ isSubtype (
1347
+ "PotentiallyNullableNestedGenericExtensionType<Object>" , "Object?" );
1348
+ isSubtype ("NonNullableNestedGenericExtensionType<Object>" , "Object?" );
1349
+ isSubtype ("PotentiallyNullableNestedGenericExtensionType<Object>" ,
1350
+ "FutureOr<dynamic>" );
1351
+ isSubtype (
1352
+ "NonNullableNestedGenericExtensionType<Object>" , "FutureOr<dynamic>" );
1353
+ isObliviousSubtype (
1354
+ "PotentiallyNullableNestedGenericExtensionType<Object>" , "Object" );
1355
+ isSubtype ("NonNullableNestedGenericExtensionType<Object>" , "Object" );
1356
+ isObliviousSubtype (
1357
+ "PotentiallyNullableNestedGenericExtensionType<Object>?" , "Object" );
1358
+ isObliviousSubtype (
1359
+ "NonNullableNestedGenericExtensionType<Object>?" , "Object" );
1360
+
1361
+ isObliviousSubtype (
1362
+ "PotentiallyNullableNestedGenericExtensionType<T>" , "Object" ,
1344
1363
typeParameters: "T" );
1345
- isObliviousSubtype ("NestedGenericExtensionType<T>?" , "Object" ,
1364
+ isSubtype ("NonNullableNestedGenericExtensionType<T>" , "Object" ,
1365
+ typeParameters: "T extends Object" );
1366
+ isObliviousSubtype (
1367
+ "PotentiallyNullableNestedGenericExtensionType<T>?" , "Object" ,
1346
1368
typeParameters: "T" );
1347
- isSubtype ( "NestedGenericExtensionType <T>" , "Object" ,
1369
+ isObliviousSubtype ( "NonNullableNestedGenericExtensionType <T>? " , "Object" ,
1348
1370
typeParameters: "T extends Object" );
1349
- isObliviousSubtype ("NestedGenericExtensionType<T>?" , "Object" ,
1371
+ isObliviousSubtype (
1372
+ "PotentiallyNullableNestedGenericExtensionType<T>" , "Object" ,
1373
+ typeParameters: "T extends Object" );
1374
+ isSubtype ("NonNullableNestedGenericExtensionType<T>" , "Object" ,
1375
+ typeParameters: "T extends Object" );
1376
+ isObliviousSubtype (
1377
+ "PotentiallyNullableNestedGenericExtensionType<T>?" , "Object" ,
1378
+ typeParameters: "T extends Object" );
1379
+ isObliviousSubtype ("NonNullableNestedGenericExtensionType<T>?" , "Object" ,
1350
1380
typeParameters: "T extends Object" );
1351
1381
1352
1382
isNotSubtype ("dynamic" , "NullableExtensionType" );
@@ -1370,15 +1400,19 @@ abstract class SubtypeTest<T, E> {
1370
1400
isObliviousSubtype ("GenericExtensionTypeImplements<Object>?" , "Object" );
1371
1401
isObliviousSubtype ("GenericSubExtensionTypeImplements<Object>?" , "Object" );
1372
1402
1373
- isSubtype ("GenericExtensionType<Object>" , "GenericExtensionType<Object>" );
1374
- isSubtype ("GenericExtensionType<num>" , "GenericExtensionType<Object>" );
1375
- isNotSubtype ("GenericExtensionType<Object>" , "GenericExtensionType<num>" );
1403
+ isSubtype ("PotentiallyNullableGenericExtensionType<Object>" ,
1404
+ "PotentiallyNullableGenericExtensionType<Object>" );
1405
+ isSubtype ("PotentiallyNullableGenericExtensionType<num>" ,
1406
+ "PotentiallyNullableGenericExtensionType<Object>" );
1407
+ isNotSubtype ("PotentiallyNullableGenericExtensionType<Object>" ,
1408
+ "PotentiallyNullableGenericExtensionType<num>" );
1376
1409
1377
- isSubtype (
1378
- "GenericExtensionSubType<Object>" , "GenericExtensionType<Object>" );
1379
- isSubtype ("GenericExtensionSubType<num>" , "GenericExtensionType<Object>" );
1380
- isNotSubtype (
1381
- "GenericExtensionSubType<Object>" , "GenericExtensionType<num>" );
1410
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" ,
1411
+ "PotentiallyNullableGenericExtensionType<Object>" );
1412
+ isSubtype ("PotentiallyNullableGenericExtensionSubType<num>" ,
1413
+ "PotentiallyNullableGenericExtensionType<Object>" );
1414
+ isNotSubtype ("PotentiallyNullableGenericExtensionSubType<Object>" ,
1415
+ "PotentiallyNullableGenericExtensionType<num>" );
1382
1416
1383
1417
isSubtype ("GenericExtensionTypeImplements<Object>" , "GenericClass<Object>" );
1384
1418
isSubtype ("GenericExtensionTypeImplements<num>" , "GenericClass<Object>" );
@@ -1404,7 +1438,9 @@ abstract class SubtypeTest<T, E> {
1404
1438
isNotSubtype (
1405
1439
"GenericSubExtensionTypeImplements<Object>" , "SubGenericClass<num>" );
1406
1440
1407
- isNotSubtype (
1408
- "NestedGenericExtensionType<Object>" , "GenericExtensionType<Object>" );
1441
+ isNotSubtype ("PotentiallyNullableNestedGenericExtensionType<Object>" ,
1442
+ "PotentiallyNullableGenericExtensionType<Object>" );
1443
+ isNotSubtype ("NonNullableNestedGenericExtensionType<Object>" ,
1444
+ "NonNullableGenericExtensionType<Object>" );
1409
1445
}
1410
1446
}
0 commit comments