Version 2.11.0-183.0.dev
Merge commit 'd63d5d93a59b370bf5f5c277109110cb67a96b75' into 'dev'
diff --git a/pkg/_fe_analyzer_shared/test/flow_analysis/type_promotion/data/type_parameter.dart b/pkg/_fe_analyzer_shared/test/flow_analysis/type_promotion/data/type_parameter.dart
index d750821..1b4354d 100644
--- a/pkg/_fe_analyzer_shared/test/flow_analysis/type_promotion/data/type_parameter.dart
+++ b/pkg/_fe_analyzer_shared/test/flow_analysis/type_promotion/data/type_parameter.dart
@@ -12,7 +12,7 @@
void promoteNullable(T? t) {
T? s;
if (t is int) {
- s = /*T & int*/ t;
+ s = /*analyzer.T? & int*/ /*cfe.T & int*/ t;
}
}
@@ -50,7 +50,7 @@
class F<S, T extends S> {
void nonNull(T t) {
if (t != null) {
- /*T & S*/ t;
+ /*analyzer.T & S & Object*/ /*cfe.T & S*/ t;
}
}
}
diff --git a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
index bd2def3..5625a7b 100644
--- a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
+++ b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart
@@ -190,6 +190,11 @@
void writeTypeParameterType(TypeParameterTypeImpl type) {
_write(type.element.displayName);
_writeNullability(type.nullabilitySuffix);
+
+ if (type.promotedBound != null) {
+ _write(' & ');
+ _writeType(type.promotedBound);
+ }
}
void writeUnknownInferredType() {
diff --git a/pkg/analyzer/test/id_tests/type_promotion_test.dart b/pkg/analyzer/test/id_tests/type_promotion_test.dart
index 067dc95..692be35 100644
--- a/pkg/analyzer/test/id_tests/type_promotion_test.dart
+++ b/pkg/analyzer/test/id_tests/type_promotion_test.dart
@@ -71,14 +71,7 @@
@override
String getText(DartType actualData, [String indentation]) {
- if (actualData is TypeParameterTypeImpl) {
- var element = actualData.element;
- var promotedBound = actualData.promotedBound;
- if (promotedBound != null) {
- return '${element.name} & ${_typeToString(promotedBound)}';
- }
- }
- return _typeToString(actualData);
+ return actualData.getDisplayString(withNullability: true);
}
@override
@@ -93,8 +86,4 @@
@override
bool isEmpty(DartType actualData) => actualData == null;
-
- String _typeToString(DartType type) {
- return type.getDisplayString(withNullability: true);
- }
}
diff --git a/pkg/analyzer/test/src/dart/element/nullable_test.dart b/pkg/analyzer/test/src/dart/element/nullable_test.dart
index d385bae..d690043 100644
--- a/pkg/analyzer/test/src/dart/element/nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/element/nullable_test.dart
@@ -647,12 +647,11 @@
test_typeParameter_bound_dynamic() {
var element = typeParameter('T', bound: dynamicNone);
- var result = typeSystem.promoteToNonNull(
+ _checkTypeParameter(
typeParameterTypeNone(element),
- ) as TypeParameterTypeImpl;
- expect(result.element, same(element));
- expect(result.promotedBound, isNull);
- expect(result.nullabilitySuffix, NullabilitySuffix.none);
+ element: element,
+ promotedBound: null,
+ );
}
test_typeParameter_bound_none() {
diff --git a/pkg/analyzer/test/src/dart/element/subtype_test.dart b/pkg/analyzer/test/src/dart/element/subtype_test.dart
index 452060b..4cb55f1 100644
--- a/pkg/analyzer/test/src/dart/element/subtype_test.dart
+++ b/pkg/analyzer/test/src/dart/element/subtype_test.dart
@@ -2482,7 +2482,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, intStar),
futureOrStar(numStar),
- strT0: 'T, T & int*',
+ strT0: 'T & int*',
strT1: 'FutureOr<num*>*',
);
}
@@ -2493,7 +2493,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, futureStar(numStar)),
futureOrStar(numStar),
- strT0: 'T, T & Future<num*>*',
+ strT0: 'T & Future<num*>*',
strT1: 'FutureOr<num*>*',
);
}
@@ -2504,7 +2504,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, futureStar(intStar)),
futureOrStar(numStar),
- strT0: 'T, T & Future<int*>*',
+ strT0: 'T & Future<int*>*',
strT1: 'FutureOr<num*>*',
);
}
@@ -2515,7 +2515,7 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, numStar),
futureOrStar(intStar),
- strT0: 'T, T & num*',
+ strT0: 'T & num*',
strT1: 'FutureOr<int*>*',
);
}
@@ -2526,7 +2526,7 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, futureStar(numStar)),
futureOrStar(intStar),
- strT0: 'T, T & Future<num*>*',
+ strT0: 'T & Future<num*>*',
strT1: 'FutureOr<int*>*',
);
}
@@ -2537,7 +2537,7 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, futureOrStar(numStar)),
futureOrStar(intStar),
- strT0: 'T, T & FutureOr<num*>*',
+ strT0: 'T & FutureOr<num*>*',
strT1: 'FutureOr<int*>*',
);
}
@@ -2824,7 +2824,7 @@
listNone(
typeParameterTypeNone(T),
),
- strT0: 'List<T>, T extends Object?, T & int',
+ strT0: 'List<T & int>, T extends Object?',
strT1: 'List<T>, T extends Object?',
);
}
@@ -2839,7 +2839,7 @@
listNone(
typeParameterTypeNone(T),
),
- strT0: 'List<T>, T extends Object?, T & int?',
+ strT0: 'List<T & int?>, T extends Object?',
strT1: 'List<T>, T extends Object?',
);
}
@@ -3288,7 +3288,7 @@
isSubtype(
promotedTypeParameterTypeStar(T, intStar),
futureOrStar(numStar),
- strT0: 'T*, T extends Object*, T & int*',
+ strT0: 'T* & int*, T extends Object*',
strT1: 'FutureOr<num*>*',
);
@@ -3296,19 +3296,19 @@
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrNone(numNone),
- strT0: 'T, T extends Object, T & int',
+ strT0: 'T & int, T extends Object',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object, T & int',
+ strT0: 'T & int, T extends Object',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object, T & int',
+ strT0: 'T & int, T extends Object',
strT1: 'FutureOr<num>?',
);
@@ -3316,19 +3316,19 @@
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrNone(numNone),
- strT0: 'T, T extends Object?, T & int',
+ strT0: 'T & int, T extends Object?',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object?, T & int',
+ strT0: 'T & int, T extends Object?',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intNone),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object?, T & int',
+ strT0: 'T & int, T extends Object?',
strT1: 'FutureOr<num>?',
);
@@ -3336,19 +3336,19 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, intQuestion),
futureOrNone(numNone),
- strT0: 'T, T extends Object?, T & int?',
+ strT0: 'T & int?, T extends Object?',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intQuestion),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object?, T & int?',
+ strT0: 'T & int?, T extends Object?',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, intQuestion),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object?, T & int?',
+ strT0: 'T & int?, T extends Object?',
strT1: 'FutureOr<num>?',
);
@@ -3357,19 +3357,19 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, typeParameterTypeNone(S)),
futureOrNone(objectNone),
- strT0: 'T, T extends Object?, T & S',
+ strT0: 'T & S, T extends Object?',
strT1: 'FutureOr<Object>',
);
isSubtype(
promotedTypeParameterTypeNone(T, typeParameterTypeNone(S)),
futureOrNone(objectQuestion),
- strT0: 'T, T extends Object?, T & S',
+ strT0: 'T & S, T extends Object?',
strT1: 'FutureOr<Object?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, typeParameterTypeNone(S)),
futureOrQuestion(objectNone),
- strT0: 'T, T extends Object?, T & S',
+ strT0: 'T & S, T extends Object?',
strT1: 'FutureOr<Object>?',
);
@@ -3377,13 +3377,13 @@
isSubtype(
promotedTypeParameterTypeNone(T, futureStar(numStar)),
futureOrStar(numStar),
- strT0: 'T, T extends Object*, T & Future<num*>*',
+ strT0: 'T & Future<num*>*, T extends Object*',
strT1: 'FutureOr<num*>*',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureStar(intStar)),
futureOrStar(numStar),
- strT0: 'T, T extends Object*, T & Future<int*>*',
+ strT0: 'T & Future<int*>*, T extends Object*',
strT1: 'FutureOr<num*>*',
);
@@ -3391,19 +3391,19 @@
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrNone(numNone),
- strT0: 'T, T extends Object, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object',
strT1: 'FutureOr<num>?',
);
@@ -3411,38 +3411,38 @@
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrNone(numNone),
- strT0: 'T, T extends Object?, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object?',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object?, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object?',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intNone)),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object?, T & Future<int>',
+ strT0: 'T & Future<int>, T extends Object?',
strT1: 'FutureOr<num>?',
);
isNotSubtype(
promotedTypeParameterTypeNone(T, futureQuestion(intNone)),
futureOrNone(numNone),
- strT0: 'T, T extends Object?, T & Future<int>?',
+ strT0: 'T & Future<int>?, T extends Object?',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureQuestion(intNone)),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object?, T & Future<int>?',
+ strT0: 'T & Future<int>?, T extends Object?',
strT1: 'FutureOr<num?>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureQuestion(intNone)),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object?, T & Future<int>?',
+ strT0: 'T & Future<int>?, T extends Object?',
strT1: 'FutureOr<num>?',
);
@@ -3450,19 +3450,19 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, futureNone(intQuestion)),
futureOrNone(numNone),
- strT0: 'T, T extends Object, T & Future<int?>',
+ strT0: 'T & Future<int?>, T extends Object',
strT1: 'FutureOr<num>',
);
isSubtype(
promotedTypeParameterTypeNone(T, futureNone(intQuestion)),
futureOrNone(numQuestion),
- strT0: 'T, T extends Object, T & Future<int?>',
+ strT0: 'T & Future<int?>, T extends Object',
strT1: 'FutureOr<num?>',
);
isNotSubtype(
promotedTypeParameterTypeNone(T, futureNone(intQuestion)),
futureOrQuestion(numNone),
- strT0: 'T, T extends Object, T & Future<int?>',
+ strT0: 'T & Future<int?>, T extends Object',
strT1: 'FutureOr<num>?',
);
}
@@ -3632,7 +3632,7 @@
typeParameterTypeStar(T),
promotedTypeParameterTypeStar(T, intStar),
strT0: 'T*, T extends int*',
- strT1: 'T*, T extends int*, T & int*',
+ strT1: 'T* & int*, T extends int*',
);
T = typeParameter('T', bound: intNone);
@@ -3640,13 +3640,13 @@
typeParameterTypeNone(T),
promotedTypeParameterTypeNone(T, intNone),
strT0: 'T, T extends int',
- strT1: 'T, T extends int, T & int',
+ strT1: 'T & int, T extends int',
);
isNotSubtype(
typeParameterTypeQuestion(T),
promotedTypeParameterTypeNone(T, intNone),
strT0: 'T?, T extends int',
- strT1: 'T, T extends int, T & int',
+ strT1: 'T & int, T extends int',
);
T = typeParameter('T', bound: intQuestion);
@@ -3654,19 +3654,19 @@
typeParameterTypeNone(T),
promotedTypeParameterTypeNone(T, intNone),
strT0: 'T, T extends int?',
- strT1: 'T, T extends int?, T & int',
+ strT1: 'T & int, T extends int?',
);
isSubtype(
typeParameterTypeNone(T),
promotedTypeParameterTypeNone(T, intQuestion),
strT0: 'T, T extends int?',
- strT1: 'T, T extends int?, T & int?',
+ strT1: 'T & int?, T extends int?',
);
isNotSubtype(
typeParameterTypeQuestion(T),
promotedTypeParameterTypeNone(T, intQuestion),
strT0: 'T?, T extends int?',
- strT1: 'T, T extends int?, T & int?',
+ strT1: 'T & int?, T extends int?',
);
T = typeParameter('T', bound: numStar);
@@ -3756,7 +3756,7 @@
neverNone,
promotedTypeParameterTypeStar(T, numStar),
strT0: 'Never',
- strT1: 'T*, T extends Object*, T & num*',
+ strT1: 'T* & num*, T extends Object*',
);
}
@@ -3766,7 +3766,7 @@
isNotSubtype(
promotedTypeParameterTypeStar(T, numStar),
neverNone,
- strT0: 'T*, T extends Object*, T & num*',
+ strT0: 'T* & num*, T extends Object*',
strT1: 'Never',
);
}
@@ -3788,7 +3788,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, neverNone),
neverNone,
- strT0: 'T, T extends Object, T & Never',
+ strT0: 'T & Never, T extends Object',
strT1: 'Never',
);
}
@@ -4048,7 +4048,7 @@
nullQuestion,
promotedTypeParameterTypeStar(T, numStar),
strT0: 'Null?',
- strT1: 'T*, T extends Object*, T & num*',
+ strT1: 'T* & num*, T extends Object*',
);
}
@@ -4059,7 +4059,7 @@
nullQuestion,
promotedTypeParameterTypeNone(T, numNone),
strT0: 'Null?',
- strT1: 'T, T extends Object?, T & num',
+ strT1: 'T & num, T extends Object?',
);
}
@@ -4070,7 +4070,7 @@
nullQuestion,
promotedTypeParameterTypeNone(T, numQuestion),
strT0: 'Null?',
- strT1: 'T, T extends Object?, T & num?',
+ strT1: 'T & num?, T extends Object?',
);
}
@@ -4081,7 +4081,7 @@
nullQuestion,
promotedTypeParameterTypeNone(T, numNone),
strT0: 'Null?',
- strT1: 'T, T extends Object, T & num',
+ strT1: 'T & num, T extends Object',
);
}
@@ -4093,7 +4093,7 @@
nullQuestion,
promotedTypeParameterTypeNone(T, typeParameterTypeNone(S)),
strT0: 'Null?',
- strT1: 'T, T extends Object?, T & S',
+ strT1: 'T & S, T extends Object?',
);
}
@@ -4317,8 +4317,8 @@
isSubtype(
type,
type,
- strT0: 'T, T extends Object*, T & int?',
- strT1: 'T, T extends Object*, T & int?',
+ strT0: 'T & int?, T extends Object*',
+ strT1: 'T & int?, T extends Object*',
);
}
@@ -4328,8 +4328,8 @@
isSubtype(
type,
type,
- strT0: 'T?, T extends Object, T & int?',
- strT1: 'T?, T extends Object, T & int?',
+ strT0: 'T? & int?, T extends Object',
+ strT1: 'T? & int?, T extends Object',
);
}
@@ -4589,7 +4589,7 @@
functionTypeStar(
returnType: voidNone,
),
- strT0: 'T, T & void Function()*',
+ strT0: 'T & void Function()*',
strT1: 'void Function()*',
);
}
@@ -4607,7 +4607,7 @@
functionTypeStar(
returnType: dynamicNone,
),
- strT0: 'T, T & void Function()*',
+ strT0: 'T & void Function()*',
strT1: 'dynamic Function()*',
);
}
@@ -4625,7 +4625,7 @@
functionTypeStar(
returnType: objectStar,
),
- strT0: 'T, T & void Function()*',
+ strT0: 'T & void Function()*',
strT1: 'Object* Function()*',
);
}
@@ -4649,7 +4649,7 @@
],
returnType: voidNone,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'void Function(void)*',
);
}
@@ -4673,7 +4673,7 @@
],
returnType: dynamicNone,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'dynamic Function(dynamic)*',
);
}
@@ -4697,7 +4697,7 @@
],
returnType: objectStar,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'Object* Function(Object*)*',
);
}
@@ -4721,7 +4721,7 @@
],
returnType: dynamicNone,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'dynamic Function(Iterable<int*>*)*',
);
}
@@ -4745,7 +4745,7 @@
],
returnType: objectStar,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'Object* Function(int*)*',
);
}
@@ -4769,7 +4769,7 @@
],
returnType: intStar,
),
- strT0: 'T, T & void Function(void)*',
+ strT0: 'T & void Function(void)*',
strT1: 'int* Function(int*)*',
);
}
@@ -4884,7 +4884,7 @@
voidNone,
promotedTypeParameterTypeNone(T, voidNone),
strT0: 'void',
- strT1: 'T, T & void',
+ strT1: 'T & void',
);
}
@@ -4895,7 +4895,7 @@
voidNone,
promotedTypeParameterTypeNone(T, voidNone),
strT0: 'void',
- strT1: 'T, T extends void, T & void',
+ strT1: 'T & void, T extends void',
);
}
@@ -4905,8 +4905,8 @@
isSubtype(
promotedTypeParameterTypeNone(T, intStar),
promotedTypeParameterTypeNone(T, intStar),
- strT0: 'T, T & int*',
- strT1: 'T, T & int*',
+ strT0: 'T & int*',
+ strT1: 'T & int*',
);
}
@@ -4916,8 +4916,8 @@
isSubtype(
promotedTypeParameterTypeNone(T, intStar),
promotedTypeParameterTypeNone(T, numStar),
- strT0: 'T, T & int*',
- strT1: 'T, T & num*',
+ strT0: 'T & int*',
+ strT1: 'T & num*',
);
}
@@ -4927,8 +4927,8 @@
isSubtype(
promotedTypeParameterTypeNone(T, numStar),
promotedTypeParameterTypeNone(T, numStar),
- strT0: 'T, T & num*',
- strT1: 'T, T & num*',
+ strT0: 'T & num*',
+ strT1: 'T & num*',
);
}
@@ -4938,8 +4938,8 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, numStar),
promotedTypeParameterTypeNone(T, intStar),
- strT0: 'T, T & num*',
- strT1: 'T, T & int*',
+ strT0: 'T & num*',
+ strT1: 'T & int*',
);
}
@@ -4950,7 +4950,7 @@
nullQuestion,
promotedTypeParameterTypeNone(T, numStar),
strT0: 'Null?',
- strT1: 'T, T & num*',
+ strT1: 'T & num*',
);
}
@@ -4960,7 +4960,7 @@
isSubtype(
promotedTypeParameterTypeStar(T, intStar),
typeParameterTypeStar(T),
- strT0: 'T*, T extends int*, T & int*',
+ strT0: 'T* & int*, T extends int*',
strT1: 'T*, T extends int*',
);
}
@@ -4971,7 +4971,7 @@
isSubtype(
promotedTypeParameterTypeStar(T, intStar),
typeParameterTypeStar(T),
- strT0: 'T*, T extends num*, T & int*',
+ strT0: 'T* & int*, T extends num*',
strT1: 'T*, T extends num*',
);
}
@@ -4982,7 +4982,7 @@
isSubtype(
promotedTypeParameterTypeStar(T, numStar),
typeParameterTypeStar(T),
- strT0: 'T*, T extends num*, T & num*',
+ strT0: 'T* & num*, T extends num*',
strT1: 'T*, T extends num*',
);
}
@@ -4994,7 +4994,7 @@
typeParameterTypeStar(T),
promotedTypeParameterTypeStar(T, intStar),
strT0: 'T*, T extends int*',
- strT1: 'T*, T extends int*, T & int*',
+ strT1: 'T* & int*, T extends int*',
);
}
@@ -5005,7 +5005,7 @@
typeParameterTypeStar(T),
promotedTypeParameterTypeStar(T, numStar),
strT0: 'T*, T extends int*',
- strT1: 'T*, T extends int*, T & num*',
+ strT1: 'T* & num*, T extends int*',
);
}
@@ -5016,7 +5016,7 @@
typeParameterTypeStar(T),
promotedTypeParameterTypeStar(T, intStar),
strT0: 'T*, T extends num*',
- strT1: 'T*, T extends num*, T & int*',
+ strT1: 'T* & int*, T extends num*',
);
}
@@ -5125,7 +5125,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, intStar),
intStar,
- strT0: 'T, T & int*',
+ strT0: 'T & int*',
strT1: 'int*',
);
}
@@ -5136,7 +5136,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, intStar),
numStar,
- strT0: 'T, T & int*',
+ strT0: 'T & int*',
strT1: 'num*',
);
}
@@ -5147,7 +5147,7 @@
isSubtype(
promotedTypeParameterTypeNone(T, numStar),
numStar,
- strT0: 'T, T & num*',
+ strT0: 'T & num*',
strT1: 'num*',
);
}
@@ -5158,7 +5158,7 @@
isNotSubtype(
promotedTypeParameterTypeNone(T, numStar),
intStar,
- strT0: 'T, T & num*',
+ strT0: 'T & num*',
strT1: 'int*',
);
}
@@ -5170,7 +5170,7 @@
isNotSubtype(
promotedTypeParameterTypeNone(S, numStar),
typeParameterTypeNone(T),
- strT0: 'S, S & num*',
+ strT0: 'S & num*',
strT1: 'T',
);
}
@@ -5182,8 +5182,8 @@
isNotSubtype(
promotedTypeParameterTypeNone(S, numStar),
promotedTypeParameterTypeNone(T, numStar),
- strT0: 'S, S & num*',
- strT1: 'T, T & num*',
+ strT0: 'S & num*',
+ strT1: 'T & num*',
);
}
@@ -5251,7 +5251,7 @@
typeParameterTypeStar(S),
promotedTypeParameterTypeNone(T, numStar),
strT0: 'S*, S extends num*',
- strT1: 'T, T & num*',
+ strT1: 'T & num*',
);
}
@@ -5262,7 +5262,7 @@
dynamicNone,
promotedTypeParameterTypeNone(T, dynamicNone),
strT0: 'dynamic',
- strT1: 'T, T extends dynamic, T & dynamic',
+ strT1: 'T & dynamic, T extends dynamic',
);
}
@@ -5280,7 +5280,7 @@
),
),
strT0: 'T Function()*',
- strT1: 'T, T & T Function()*',
+ strT1: 'T & T Function()*',
);
}
@@ -5292,8 +5292,8 @@
promotedTypeParameterTypeNone(T, stringStar),
),
promotedTypeParameterTypeNone(T, stringStar),
- strT0: 'FutureOr<T>*, T & String*',
- strT1: 'T, T & String*',
+ strT0: 'FutureOr<T & String*>*',
+ strT1: 'T & String*',
);
}
@@ -5327,19 +5327,19 @@
isNotSubtype(
type,
numNone,
- strT0: 'T, T extends Object?, T & num?',
+ strT0: 'T & num?, T extends Object?',
strT1: 'num',
);
isSubtype(
type,
numQuestion,
- strT0: 'T, T extends Object?, T & num?',
+ strT0: 'T & num?, T extends Object?',
strT1: 'num?',
);
isSubtype(
type,
numStar,
- strT0: 'T, T extends Object?, T & num?',
+ strT0: 'T & num?, T extends Object?',
strT1: 'num*',
);
}
@@ -6015,9 +6015,8 @@
void visitTypeParameterType(TypeParameterType type) {
if (!functionTypeParameters.contains(type.element)) {
var bound = type.element.bound;
- var promotedBound = (type as TypeParameterTypeImpl).promotedBound;
- if (bound == null && promotedBound == null) {
+ if (bound == null) {
return;
}
@@ -6028,16 +6027,6 @@
str += '${type.element.name} extends ' + boundStr;
}
- if (promotedBound != null) {
- var promotedBoundStr = promotedBound.getDisplayString(
- withNullability: true,
- );
- if (str.isNotEmpty) {
- str += ', ';
- }
- str += '${type.element.name} & ' + promotedBoundStr;
- }
-
typeParameters.add(str);
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
index be98561..a51df3a 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
@@ -2,7 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -34,13 +33,9 @@
''');
- var creation = findNode.instanceCreation('A(s)');
- var creationType = creation.staticType as InterfaceType;
-
- assertTypeParameterType(
- creationType.typeArguments[0],
- element: findElement.typeParameter('S'),
- promotedBound: null,
+ assertType(
+ findNode.instanceCreation('A(s)'),
+ 'A<S>',
);
}
diff --git a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
index 3545088..7e27085 100644
--- a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'package:analyzer/dart/element/type.dart';
-import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/error/codes.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -30,9 +28,7 @@
}
''');
- var type = findNode.simple('o; // ref').staticType;
- assertType(type, 'T');
- _assertPromotedBound(type, isNull);
+ assertType(findNode.simple('o; // ref'), 'T');
}
test_element_block() async {
@@ -99,12 +95,6 @@
expect(x.isLate, isFalse);
expect(x.isStatic, isFalse);
}
-
- void _assertPromotedBound(DartType type, Matcher promotedBound) {
- if (type is TypeParameterTypeImpl) {
- expect(type.promotedBound, promotedBound);
- }
- }
}
@reflectiveTest
diff --git a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
index 5c49601..16de782 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
@@ -405,10 +405,9 @@
''');
- assertTypeParameterType(
- findNode.methodInvocation('test(s)').typeArgumentTypes[0],
- element: findElement.typeParameter('S'),
- promotedBound: null,
+ assertTypeArgumentTypes(
+ findNode.methodInvocation('test(s)'),
+ ['S'],
);
}
diff --git a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
index 180d1e5..61a0e67 100644
--- a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
@@ -3,10 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:analyzer/src/error/codes.dart';
-import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'context_collection_resolution.dart';
@@ -753,14 +751,8 @@
writeElement: null,
writeType: null,
element: null,
- type: 'T',
+ type: 'T & Object',
);
- expect(
- postfixExpression.staticType,
- TypeMatcher<TypeParameterType>().having(
- (t) => t.bound.getDisplayString(withNullability: true),
- 'bound',
- 'Object'));
}
test_nullCheck_typeParameter_already_promoted() async {
@@ -780,13 +772,7 @@
writeElement: null,
writeType: null,
element: null,
- type: 'T',
+ type: 'T & num',
);
- expect(
- postfixExpression.staticType,
- TypeMatcher<TypeParameterType>().having(
- (t) => t.bound.getDisplayString(withNullability: true),
- 'bound',
- 'num'));
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart
index 011e60f..2fdf8ba 100644
--- a/pkg/analyzer/test/src/dart/resolution/resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart
@@ -776,15 +776,6 @@
expect(node.staticType, isNull);
}
- void assertTypeParameterType(
- TypeParameterTypeImpl type, {
- @required TypeParameterElement element,
- @required String promotedBound,
- }) {
- assertElement(type.element, element);
- assertType(type.promotedBound, promotedBound);
- }
-
Matcher elementMatcher(
Element declaration, {
bool isLegacy = false,
diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
index 955df67..321cac5 100644
--- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
+++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart
@@ -166,6 +166,9 @@
"flutter": {
ExperimentalFlag.nonNullable,
},
+ "flutter_driver": {
+ ExperimentalFlag.nonNullable,
+ },
"flutter_test": {
ExperimentalFlag.nonNullable,
},
diff --git a/pkg/front_end/lib/src/fasta/builder/enum_builder.dart b/pkg/front_end/lib/src/fasta/builder/enum_builder.dart
index da4182e..537e376 100644
--- a/pkg/front_end/lib/src/fasta/builder/enum_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/enum_builder.dart
@@ -11,7 +11,6 @@
Class,
Constructor,
ConstructorInvocation,
- DirectPropertyGet,
Expression,
Field,
FieldInitializer,
@@ -20,6 +19,7 @@
ListLiteral,
Procedure,
ProcedureKind,
+ PropertyGet,
ReturnStatement,
StaticGet,
StringLiteral,
@@ -386,7 +386,7 @@
Field nameField = nameFieldBuilder.field;
ProcedureBuilder toStringBuilder = firstMemberNamed("toString");
toStringBuilder.body = new ReturnStatement(
- new DirectPropertyGet(new ThisExpression(), nameField));
+ new PropertyGet(new ThisExpression(), nameField.name, nameField));
List<Expression> values = <Expression>[];
if (enumConstantInfos != null) {
for (EnumConstantInfo enumConstantInfo in enumConstantInfos) {
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect
index 8352f12..f8b77c2 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect
@@ -31,7 +31,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect
index 60d3c9e..742c6ea 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect
@@ -31,7 +31,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect
index 60d3c9e..742c6ea 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect
@@ -31,7 +31,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect
index fea4f76..32a46a1 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect
+++ b/pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect
@@ -428,7 +428,7 @@
: self::Enum#4::index = index, self::Enum#4::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#4::_name};
+ return this.{self::Enum#4::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -450,7 +450,7 @@
: self::Enum#3::index = index, self::Enum#3::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#3::_name};
+ return this.{self::Enum#3::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -472,7 +472,7 @@
: self::Enum#2::index = index, self::Enum#2::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#2::_name};
+ return this.{self::Enum#2::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -494,7 +494,7 @@
: self::Enum#1::index = index, self::Enum#1::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#1::_name};
+ return this.{self::Enum#1::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -516,7 +516,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -538,7 +538,7 @@
: self::AnotherEnum::index = index, self::AnotherEnum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::AnotherEnum::_name};
+ return this.{self::AnotherEnum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect
index 3ee4ed6..608fb62 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect
+++ b/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect
@@ -490,7 +490,7 @@
: self::Enum#4::index = index, self::Enum#4::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#4::_name};
+ return this.{self::Enum#4::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -512,7 +512,7 @@
: self::Enum#3::index = index, self::Enum#3::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#3::_name};
+ return this.{self::Enum#3::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -534,7 +534,7 @@
: self::Enum#2::index = index, self::Enum#2::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#2::_name};
+ return this.{self::Enum#2::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -556,7 +556,7 @@
: self::Enum#1::index = index, self::Enum#1::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#1::_name};
+ return this.{self::Enum#1::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -578,7 +578,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -600,7 +600,7 @@
: self::AnotherEnum::index = index, self::AnotherEnum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::AnotherEnum::_name};
+ return this.{self::AnotherEnum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.outline.expect b/pkg/front_end/testcases/general/metadata_enum.dart.outline.expect
index 14991ec..908f423 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.outline.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.outline.expect
@@ -14,7 +14,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.strong.expect b/pkg/front_end/testcases/general/metadata_enum.dart.strong.expect
index 0c71aa0..b5f94c3 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.strong.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.strong.expect
@@ -14,7 +14,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect
index 0c71aa0..b5f94c3 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect
@@ -14,7 +14,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.expect
index 60d3c9e..742c6ea 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.expect
@@ -31,7 +31,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.transformed.expect
index 60d3c9e..742c6ea 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.transformed.expect
@@ -31,7 +31,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.expect
index 877eeef..d6ea288 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.expect
@@ -490,7 +490,7 @@
: self::Enum#4::index = index, self::Enum#4::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#4::_name};
+ return this.{self::Enum#4::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -512,7 +512,7 @@
: self::Enum#3::index = index, self::Enum#3::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#3::_name};
+ return this.{self::Enum#3::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -534,7 +534,7 @@
: self::Enum#2::index = index, self::Enum#2::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#2::_name};
+ return this.{self::Enum#2::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -556,7 +556,7 @@
: self::Enum#1::index = index, self::Enum#1::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum#1::_name};
+ return this.{self::Enum#1::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -578,7 +578,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -600,7 +600,7 @@
: self::AnotherEnum::index = index, self::AnotherEnum::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::AnotherEnum::_name};
+ return this.{self::AnotherEnum::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.expect
index 0c71aa0..b5f94c3 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.expect
@@ -14,7 +14,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.transformed.expect
index 0c71aa0..b5f94c3 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.1.expect
index b87a5be..36d467b 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.1.expect
@@ -42,7 +42,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.2.expect
index d1e9386..cb6ad9d 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_2.yaml.world.2.expect
@@ -42,7 +42,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.1.expect
index 12034d0..6ef80fe 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.1.expect
@@ -49,7 +49,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.2.expect
index f060e27..edb6241 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.2.expect
@@ -49,7 +49,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.3.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.3.expect
index c39751c..13a7716 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_6.yaml.world.3.expect
@@ -42,7 +42,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.1.expect
index 162d7af..4ef6430 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.1.expect
@@ -58,7 +58,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.2.expect
index 162d7af..4ef6430 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_7.yaml.world.2.expect
@@ -58,7 +58,7 @@
: main::CompilationStrategy::index = index, main::CompilationStrategy::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=main::CompilationStrategy::_name};
+ return this.{main::CompilationStrategy::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect
index 7fa241a..a5b5992 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect
index 39e563c..d291d40 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect
index 39e563c..d291d40 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect
index 3c0b3c8..8aa2841 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect
index 90399f0..3eb7ad4 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect
index 90399f0..3eb7ad4 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
: self::E::index = index, self::E::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::E::_name};
+ return this.{self::E::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect
index 3806476..d70d113 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect
@@ -15,7 +15,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method returnImplicit() → core::String
;
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
index 022f00c..99136f1 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
@@ -68,7 +68,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method returnImplicit() → core::String {
core::print("foo");
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
index 4f8e60b..3d6ecf6 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
@@ -68,7 +68,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method returnImplicit() → core::String {
core::print("foo");
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
index 13041e9..75221ed 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
@@ -69,7 +69,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method returnImplicit() → core::String {
core::print("foo");
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
index 0c25127..91bc7b3 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
@@ -69,7 +69,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method returnImplicit() → core::String {
core::print("foo");
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect
index 6bfb752..0c1c54e 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect
@@ -12,7 +12,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method method1(self::Enum? e) → core::int
;
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
index 5051631..daebafc 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
@@ -19,7 +19,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method method1(self::Enum? e) → core::int {
switch(e) {
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
index 5051631..daebafc 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
@@ -19,7 +19,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method method1(self::Enum? e) → core::int {
switch(e) {
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
index 0a559cb..28d2d15 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
@@ -20,7 +20,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method method1(self::Enum? e) → core::int {
switch(e) {
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
index 0a559cb..28d2d15 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
: self::Enum::index = index, self::Enum::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::Enum::_name};
+ return this.{self::Enum::_name};
}
static method method1(self::Enum? e) → core::int {
switch(e) {
diff --git a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
index 211e16d..3a8e857 100644
--- a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
@@ -438,7 +438,7 @@
: uns::E::index = index, uns::E::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=uns::E::_name};
+ return this.{uns::E::_name};
}
extension OptInExtension on uns::OptInClass1 {
operator [] = uns::OptInExtension|[];
diff --git a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
index af2b9be..eacb84d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
@@ -438,7 +438,7 @@
: uns::E::index = index, uns::E::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=uns::E::_name};
+ return this.{uns::E::_name};
}
extension OptInExtension on uns::OptInClass1 {
operator [] = uns::OptInExtension|[];
diff --git a/pkg/front_end/testcases/rasta/enum.dart.outline.expect b/pkg/front_end/testcases/rasta/enum.dart.outline.expect
index 2be4a63..a6d72f1 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.outline.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.outline.expect
@@ -12,7 +12,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/rasta/enum.dart.strong.expect b/pkg/front_end/testcases/rasta/enum.dart.strong.expect
index 0b718d7..7ae9eb8 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.strong.expect
@@ -12,7 +12,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect
index 0b718d7..7ae9eb8 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect
@@ -12,7 +12,7 @@
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
;
method toString() → core::String*
- return this.{=self::Foo::_name};
+ return this.{self::Foo::_name};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.expect b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.expect
index 1fcfe08..aede924 100644
--- a/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.expect
+++ b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.expect
@@ -12,7 +12,7 @@
: self::A::index = index, self::A::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::A::_name};
+ return this.{self::A::_name};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.transformed.expect b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.transformed.expect
index 1fcfe08..aede924 100644
--- a/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
: self::A::index = index, self::A::_name = _name, super core::Object::•()
;
method toString() → core::String
- return this.{=self::A::_name};
+ return this.{self::A::_name};
}
static method main() → dynamic {}
diff --git a/pkg/vm/testcases/bytecode/literals.dart.expect b/pkg/vm/testcases/bytecode/literals.dart.expect
index bb04201..5e58043 100644
--- a/pkg/vm/testcases/bytecode/literals.dart.expect
+++ b/pkg/vm/testcases/bytecode/literals.dart.expect
@@ -522,11 +522,11 @@
Entry 0
CheckStack 0
Push FP[-5]
- DirectCall CP#0, 1
+ InterfaceCall CP#0, 1
ReturnTOS
}
ConstantPool {
- [0] = DirectCall '#lib::A::get:_name', ArgDesc num-args 1, num-type-args 0, names []
+ [0] = InterfaceCall '#lib::A::get:_name', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
}
@@ -852,7 +852,7 @@
: #lib::A::index = index, #lib::A::_name = _name, super dart.core::Object::•()
;
method toString() → dart.core::String*
- return this.{=#lib::A::_name};
+ return this.{#lib::A::_name};
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
diff --git a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
index f5276be..250bacb 100644
--- a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
@@ -24,7 +24,7 @@
RESULT: _T {}?
------------ TestEnum.toString ------------
%this = _Parameter #0 [_T (#lib::TestEnum)+]
-t1* = _Call direct get [#lib::TestEnum._name] (%this)
+t1* = _Call virtual get [#lib::TestEnum._name] (%this)
RESULT: t1
------------ TestEnum.values ------------
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
index 51aca60..76d2329 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
@@ -15,7 +15,7 @@
[@vm.inferred-type.metadata=dart.core::_Smi (value: 1)] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] [@vm.unboxing-info.metadata=()->i] final field core::int* index;
[@vm.inferred-type.metadata=dart.core::_OneByteString (value: "B.b2")] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:5] final field core::String* _name;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7] method toString() → core::String*
- return [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "B.b2")] this.{=self::B::_name};
+ return [@vm.direct-call.metadata=#lib::B._name] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "B.b2")] this.{self::B::_name};
}
[@vm.unboxing-info.metadata=(i)->b]static method test0([@vm.inferred-type.metadata=dart.core::_Smi (value: 40)] core::int* arg) → void {
core::print(arg);
diff --git a/sdk/lib/_internal/allowed_experiments.json b/sdk/lib/_internal/allowed_experiments.json
index 34f341e..8fe425f 100644
--- a/sdk/lib/_internal/allowed_experiments.json
+++ b/sdk/lib/_internal/allowed_experiments.json
@@ -58,6 +58,9 @@
"flutter": {
"experimentSet": "nullSafety"
},
+ "flutter_driver": {
+ "experimentSet": "nullSafety"
+ },
"flutter_test": {
"experimentSet": "nullSafety"
},
diff --git a/sdk/lib/async/stream.dart b/sdk/lib/async/stream.dart
index 76ced6e..8d2a625aa 100644
--- a/sdk/lib/async/stream.dart
+++ b/sdk/lib/async/stream.dart
@@ -667,12 +667,12 @@
* If this stream sends an error that matches [test], then it is intercepted
* by the [onError] function.
*
- * The [onError] callback must be of type `void onError(Object error)` or
- * `void onError(Object error, StackTrace stackTrace)`.
+ * The [onError] callback must be of type `void Function(Object error)` or
+ * `void Function(Object error, StackTrace)`.
* The function type determines whether [onError] is invoked with a stack
* trace argument.
- * The stack trace argument may be `null` if this stream received an error
- * without a stack trace.
+ * The stack trace argument may be [StackTrace.empty] if this stream received
+ * an error without a stack trace.
*
* An asynchronous error `error` is matched by a test function if
*`test(error)` returns true. If [test] is omitted, every error is considered
diff --git a/tools/VERSION b/tools/VERSION
index 3731a6d..590277c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 11
PATCH 0
-PRERELEASE 182
+PRERELEASE 183
PRERELEASE_PATCH 0
\ No newline at end of file