[cfe] Make extension type non-nullable only if it implements Object

Part of https://github.com/dart-lang/sdk/issues/49731

TEST=existing

Change-Id: I397bbd5ca7868a9fb344286c910536c6ac341222
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333500
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
This commit is contained in:
Chloe Stefantsova 2023-11-15 14:02:35 +00:00 committed by Commit Queue
parent 000e67bb20
commit c6b0e218c7
149 changed files with 3574 additions and 1354 deletions

View file

@ -68,7 +68,6 @@ abstract class ExtensionTypeDeclarationBuilderImpl
Uri fileUri,
int charOffset,
{required bool hasExplicitTypeArguments}) {
buildRepresentationTypeAndName();
ExtensionType type =
new ExtensionType(extensionTypeDeclaration, nullability, arguments);
if (typeVariablesCount != 0 && library is SourceLibraryBuilder) {
@ -80,6 +79,4 @@ abstract class ExtensionTypeDeclarationBuilderImpl
@override
String get debugName => "ExtensionTypeDeclarationBuilder";
void buildRepresentationTypeAndName() {}
}

View file

@ -47,7 +47,6 @@ class SourceExtensionTypeDeclarationBuilder
final List<ConstructorReferenceBuilder>? constructorReferences;
final ExtensionTypeDeclaration _extensionTypeDeclaration;
bool _builtRepresentationTypeAndName = false;
SourceExtensionTypeDeclarationBuilder? _origin;
SourceExtensionTypeDeclarationBuilder? patchForTesting;
@ -255,19 +254,6 @@ class SourceExtensionTypeDeclarationBuilder
}
}
buildRepresentationTypeAndName();
buildInternal(coreLibrary, addMembersToLibrary: addMembersToLibrary);
return _extensionTypeDeclaration;
}
@override
void buildRepresentationTypeAndName() {
// We cut the potential infinite recursion here. The cyclic dependencies
// should be reported elsewhere.
if (_builtRepresentationTypeAndName) return;
_builtRepresentationTypeAndName = true;
DartType representationType;
String representationName;
if (representationFieldBuilder != null) {
@ -312,6 +298,9 @@ class SourceExtensionTypeDeclarationBuilder
}
_extensionTypeDeclaration.declaredRepresentationType = representationType;
_extensionTypeDeclaration.representationName = representationName;
buildInternal(coreLibrary, addMembersToLibrary: addMembersToLibrary);
return _extensionTypeDeclaration;
}
bool _checkRepresentationDependency(

View file

@ -1524,7 +1524,9 @@ class TypeSchemaEnvironmentTest extends TypeSchemaEnvironmentTestBase {
void test_upper_bound_extension_type() {
parseTestLibrary("extension type E1(Object? it); "
"extension type E2(Object it);"
"extension type E3<X>(X it);");
"extension type E3<X>(X it); "
"extension type E4(Object it) implements Object; "
"extension type E5<X extends Object>(X it) implements Object;");
checkUpperBound(type1: "E1", type2: "E1", upperBound: "E1");
checkUpperBound(type1: "E2", type2: "E2", upperBound: "E2");
checkUpperBound(type1: "E1", type2: "E2", upperBound: "Object?");
@ -1532,7 +1534,8 @@ class TypeSchemaEnvironmentTest extends TypeSchemaEnvironmentTestBase {
checkUpperBound(type1: "E1", type2: "E3<num?>", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "E3<Object?>", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "E3<num?>", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "E3<Object>", upperBound: "Object");
checkUpperBound(type1: "E2", type2: "E3<Object>", upperBound: "Object?");
checkUpperBound(type1: "E4", type2: "E5<Object>", upperBound: "Object");
}
void test_upper_bound_extension_type_implements() {
@ -1546,7 +1549,8 @@ class TypeSchemaEnvironmentTest extends TypeSchemaEnvironmentTestBase {
"extension type E8(bool it); "
"extension type E9(int it) implements E6; "
"extension type E10(double it) implements E5; "
"extension type E11<X>(X it); ");
"extension type E11<X>(X it); "
"extension type E12(bool it) implements Object;");
checkUpperBound(type1: "E1", type2: "E2", upperBound: "num");
checkUpperBound(type1: "E1", type2: "E3<int>", upperBound: "num");
checkUpperBound(type1: "E2", type2: "E3<double>", upperBound: "num");
@ -1557,7 +1561,8 @@ class TypeSchemaEnvironmentTest extends TypeSchemaEnvironmentTestBase {
checkUpperBound(type1: "E1", type2: "E6", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "E6", upperBound: "Object?");
checkUpperBound(type1: "E1", type2: "E7", upperBound: "Object");
checkUpperBound(type1: "E1", type2: "E8", upperBound: "Object");
checkUpperBound(type1: "E1", type2: "E8", upperBound: "Object?");
checkUpperBound(type1: "E1", type2: "E12", upperBound: "Object");
checkUpperBound(type1: "E6", type2: "E9", upperBound: "E6");
checkUpperBound(type1: "E5", type2: "E9", upperBound: "E5");
checkUpperBound(type1: "E5", type2: "E6", upperBound: "E5");
@ -1580,16 +1585,19 @@ class TypeSchemaEnvironmentTest extends TypeSchemaEnvironmentTestBase {
"extension type E2(num it); "
"extension type E3(num? it) implements E1; "
"extension type E4(num it) implements num; "
"extension type E5<Y extends Object>(Y it) implements A<Y>;");
"extension type E5<Y extends Object>(Y it) implements A<Y>; "
"extension type E6(num it) implements Object;");
checkUpperBound(type1: "E1", type2: "num?", upperBound: "Object?");
checkUpperBound(type1: "E1", type2: "num", upperBound: "Object?");
checkUpperBound(type1: "E1", type2: "int?", upperBound: "Object?");
checkUpperBound(type1: "E1", type2: "int", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "num?", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "num", upperBound: "Object");
checkUpperBound(type1: "E2", type2: "num", upperBound: "Object?");
checkUpperBound(type1: "E6", type2: "num", upperBound: "Object");
checkUpperBound(type1: "E2", type2: "int?", upperBound: "Object?");
checkUpperBound(type1: "E2", type2: "int", upperBound: "Object");
checkUpperBound(type1: "E2", type2: "int", upperBound: "Object?");
checkUpperBound(type1: "E6", type2: "int", upperBound: "Object");
checkUpperBound(type1: "E3", type2: "num?", upperBound: "Object?");
checkUpperBound(type1: "E3", type2: "num", upperBound: "Object?");

View file

@ -39,16 +39,18 @@ extension GenericExtension<Y> on ExtendedGenericClass<Y>;
extension TopExtension on dynamic;
extension GenericTopExtension<Z> on dynamic;
class ExtendedSubclass extends ExtendedClass;
extension type NullableExtensionType(Object? it);
extension type NonNullableExtensionType(Object it);
extension type GenericExtensionType<T>(T it);
extension type GenericExtensionSubType<T>(T it) implements GenericExtensionType<T>;
extension type NonNullableGenericExtensionType<T extends Object>(T it);
extension type NullableExtensionType(Object it);
extension type NonNullableExtensionType(Object it) implements Object;
extension type PotentiallyNullableGenericExtensionType<T>(T it);
extension type PotentiallyNullableGenericExtensionSubType<T>(T it) implements PotentiallyNullableGenericExtensionType<T>;
extension type NonNullableGenericExtensionType<T extends Object>(T it) implements Object;
extension type NonNullableGenericExtensionSubType<T extends Object>(T it) implements NonNullableGenericExtensionType<T>;
class GenericClass<T>;
extension type GenericExtensionTypeImplements<T>(GenericClass<T> it) implements GenericClass<T>;
class SubGenericClass<T> extends GenericClass<T>;
extension type GenericSubExtensionTypeImplements<T>(SubGenericClass<T> it) implements GenericExtensionTypeImplements<T>, SubGenericClass<T>;
extension type NestedGenericExtensionType<T>(GenericExtensionType<T> it);
extension type PotentiallyNullableNestedGenericExtensionType<T>(PotentiallyNullableGenericExtensionType<T> it);
extension type NonNullableNestedGenericExtensionType<T extends Object>(NonNullableGenericExtensionType<T> it) implements Object;
""";
const String expectedSdk = """
@ -116,21 +118,25 @@ extension TopExtension on dynamic {
}
extension GenericTopExtension<Z extends self::Object? = dynamic> on dynamic {
}
extension type NullableExtensionType(self::Object? it) {
extension type NullableExtensionType(self::Object it) {
}
extension type NonNullableExtensionType(self::Object it) {
extension type NonNullableExtensionType(self::Object it) implements self::Object {
}
extension type GenericExtensionType<T extends self::Object? = dynamic>(T% it) {
extension type PotentiallyNullableGenericExtensionType<T extends self::Object? = dynamic>(T% it) {
}
extension type GenericExtensionSubType<T extends self::Object? = dynamic>(T% it) implements self::GenericExtensionType<T%> /* = T% */ {
extension type PotentiallyNullableGenericExtensionSubType<T extends self::Object? = dynamic>(T% it) implements self::PotentiallyNullableGenericExtensionType<T%> /* = T% */ {
}
extension type NonNullableGenericExtensionType<T extends self::Object>(T it) {
extension type NonNullableGenericExtensionType<T extends self::Object>(T it) implements self::Object {
}
extension type NonNullableGenericExtensionSubType<T extends self::Object>(T it) implements self::NonNullableGenericExtensionType<T> /* = T */ {
}
extension type GenericExtensionTypeImplements<T extends self::Object? = dynamic>(self::GenericClass<T%> it) implements self::GenericClass<T%> {
}
extension type GenericSubExtensionTypeImplements<T extends self::Object? = dynamic>(self::SubGenericClass<T%> it) implements self::GenericExtensionTypeImplements<T%> /* = self::GenericClass<T%> */, self::SubGenericClass<T%> {
}
extension type NestedGenericExtensionType<T extends self::Object? = dynamic>(self::GenericExtensionType<T%> /* = T% */ it) {
extension type PotentiallyNullableNestedGenericExtensionType<T extends self::Object? = dynamic>(self::PotentiallyNullableGenericExtensionType<T%> /* = T% */ it) {
}
extension type NonNullableNestedGenericExtensionType<T extends self::Object>(self::NonNullableGenericExtensionType<T> /* = T */ it) implements self::Object {
}
""";

View file

@ -1268,12 +1268,13 @@ abstract class SubtypeTest<T, E> {
// Tests for extension types.
isSubtype("Never", "NullableExtensionType");
isSubtype("Never", "NonNullableExtensionType");
isSubtype("Never", "GenericExtensionType<Object>");
isSubtype("Never", "GenericExtensionSubType<Object>");
isSubtype("Never", "PotentiallyNullableGenericExtensionType<Object>");
isSubtype("Never", "PotentiallyNullableGenericExtensionSubType<Object>");
isSubtype("Never", "NonNullableGenericExtensionType<Object>");
isSubtype("Never", "GenericExtensionTypeImplements<Object>");
isSubtype("Never", "GenericSubExtensionTypeImplements<Object>");
isSubtype("Never", "NestedGenericExtensionType<Object>");
isSubtype("Never", "PotentiallyNullableNestedGenericExtensionType<Object>");
isSubtype("Never", "NonNullableNestedGenericExtensionType<Object>");
isSubtype("NullableExtensionType", "dynamic");
isSubtype("NullableExtensionType", "void");
@ -1289,28 +1290,32 @@ abstract class SubtypeTest<T, E> {
isSubtype("NonNullableExtensionType", "Object");
isObliviousSubtype("NonNullableExtensionType?", "Object");
isSubtype("GenericExtensionType<Object>", "dynamic");
isSubtype("GenericExtensionType<Object>", "void");
isSubtype("GenericExtensionType<Object>", "Object?");
isSubtype("GenericExtensionType<Object>", "FutureOr<dynamic>");
isSubtype("GenericExtensionType<Object>", "Object");
isObliviousSubtype("GenericExtensionType<Object>?", "Object");
isSubtype("PotentiallyNullableGenericExtensionType<Object>", "dynamic");
isSubtype("PotentiallyNullableGenericExtensionType<Object>", "void");
isSubtype("PotentiallyNullableGenericExtensionType<Object>", "Object?");
isSubtype(
"PotentiallyNullableGenericExtensionType<Object>", "FutureOr<dynamic>");
isSubtype("NonNullableGenericExtensionType<Object>", "Object");
isObliviousSubtype(
"PotentiallyNullableGenericExtensionType<Object>?", "Object");
isObliviousSubtype("GenericExtensionType<T>", "Object",
isObliviousSubtype("PotentiallyNullableGenericExtensionType<T>", "Object",
typeParameters: "T");
isObliviousSubtype("GenericExtensionType<T>?", "Object",
isObliviousSubtype("PotentiallyNullableGenericExtensionType<T>?", "Object",
typeParameters: "T");
isSubtype("GenericExtensionType<T>", "Object",
isSubtype("NonNullableGenericExtensionType<T>", "Object",
typeParameters: "T extends Object");
isObliviousSubtype("GenericExtensionType<T>?", "Object",
isObliviousSubtype("PotentiallyNullableGenericExtensionType<T>?", "Object",
typeParameters: "T extends Object");
isSubtype("GenericExtensionSubType<Object>", "dynamic");
isSubtype("GenericExtensionSubType<Object>", "void");
isSubtype("GenericExtensionSubType<Object>", "Object?");
isSubtype("GenericExtensionSubType<Object>", "FutureOr<dynamic>");
isSubtype("GenericExtensionSubType<Object>", "Object");
isObliviousSubtype("GenericExtensionSubType<Object>?", "Object");
isSubtype("PotentiallyNullableGenericExtensionSubType<Object>", "dynamic");
isSubtype("PotentiallyNullableGenericExtensionSubType<Object>", "void");
isSubtype("PotentiallyNullableGenericExtensionSubType<Object>", "Object?");
isSubtype("PotentiallyNullableGenericExtensionSubType<Object>",
"FutureOr<dynamic>");
isSubtype("NonNullableGenericExtensionSubType<Object>", "Object");
isObliviousSubtype(
"PotentiallyNullableGenericExtensionSubType<Object>?", "Object");
isSubtype("NonNullableGenericExtensionType<Object>", "dynamic");
isSubtype("NonNullableGenericExtensionType<Object>", "void");
@ -1333,20 +1338,45 @@ abstract class SubtypeTest<T, E> {
isSubtype("GenericSubExtensionTypeImplements<Object>", "Object");
isObliviousSubtype("GenericSubExtensionTypeImplements<Object>?", "Object");
isSubtype("NestedGenericExtensionType<Object>", "dynamic");
isSubtype("NestedGenericExtensionType<Object>", "void");
isSubtype("NestedGenericExtensionType<Object>", "Object?");
isSubtype("NestedGenericExtensionType<Object>", "FutureOr<dynamic>");
isSubtype("NestedGenericExtensionType<Object>", "Object");
isObliviousSubtype("NestedGenericExtensionType<Object>?", "Object");
isSubtype(
"PotentiallyNullableNestedGenericExtensionType<Object>", "dynamic");
isSubtype("NonNullableNestedGenericExtensionType<Object>", "dynamic");
isSubtype("PotentiallyNullableNestedGenericExtensionType<Object>", "void");
isSubtype("NonNullableNestedGenericExtensionType<Object>", "void");
isSubtype(
"PotentiallyNullableNestedGenericExtensionType<Object>", "Object?");
isSubtype("NonNullableNestedGenericExtensionType<Object>", "Object?");
isSubtype("PotentiallyNullableNestedGenericExtensionType<Object>",
"FutureOr<dynamic>");
isSubtype(
"NonNullableNestedGenericExtensionType<Object>", "FutureOr<dynamic>");
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<Object>", "Object");
isSubtype("NonNullableNestedGenericExtensionType<Object>", "Object");
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<Object>?", "Object");
isObliviousSubtype(
"NonNullableNestedGenericExtensionType<Object>?", "Object");
isObliviousSubtype("NestedGenericExtensionType<T>", "Object",
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<T>", "Object",
typeParameters: "T");
isObliviousSubtype("NestedGenericExtensionType<T>?", "Object",
typeParameters: "T");
isSubtype("NestedGenericExtensionType<T>", "Object",
isSubtype("NonNullableNestedGenericExtensionType<T>", "Object",
typeParameters: "T extends Object");
isObliviousSubtype("NestedGenericExtensionType<T>?", "Object",
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<T>?", "Object",
typeParameters: "T");
isObliviousSubtype("NonNullableNestedGenericExtensionType<T>?", "Object",
typeParameters: "T extends Object");
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<T>", "Object",
typeParameters: "T extends Object");
isSubtype("NonNullableNestedGenericExtensionType<T>", "Object",
typeParameters: "T extends Object");
isObliviousSubtype(
"PotentiallyNullableNestedGenericExtensionType<T>?", "Object",
typeParameters: "T extends Object");
isObliviousSubtype("NonNullableNestedGenericExtensionType<T>?", "Object",
typeParameters: "T extends Object");
isNotSubtype("dynamic", "NullableExtensionType");
@ -1370,15 +1400,19 @@ abstract class SubtypeTest<T, E> {
isObliviousSubtype("GenericExtensionTypeImplements<Object>?", "Object");
isObliviousSubtype("GenericSubExtensionTypeImplements<Object>?", "Object");
isSubtype("GenericExtensionType<Object>", "GenericExtensionType<Object>");
isSubtype("GenericExtensionType<num>", "GenericExtensionType<Object>");
isNotSubtype("GenericExtensionType<Object>", "GenericExtensionType<num>");
isSubtype("PotentiallyNullableGenericExtensionType<Object>",
"PotentiallyNullableGenericExtensionType<Object>");
isSubtype("PotentiallyNullableGenericExtensionType<num>",
"PotentiallyNullableGenericExtensionType<Object>");
isNotSubtype("PotentiallyNullableGenericExtensionType<Object>",
"PotentiallyNullableGenericExtensionType<num>");
isSubtype(
"GenericExtensionSubType<Object>", "GenericExtensionType<Object>");
isSubtype("GenericExtensionSubType<num>", "GenericExtensionType<Object>");
isNotSubtype(
"GenericExtensionSubType<Object>", "GenericExtensionType<num>");
isSubtype("PotentiallyNullableGenericExtensionSubType<Object>",
"PotentiallyNullableGenericExtensionType<Object>");
isSubtype("PotentiallyNullableGenericExtensionSubType<num>",
"PotentiallyNullableGenericExtensionType<Object>");
isNotSubtype("PotentiallyNullableGenericExtensionSubType<Object>",
"PotentiallyNullableGenericExtensionType<num>");
isSubtype("GenericExtensionTypeImplements<Object>", "GenericClass<Object>");
isSubtype("GenericExtensionTypeImplements<num>", "GenericClass<Object>");
@ -1404,7 +1438,9 @@ abstract class SubtypeTest<T, E> {
isNotSubtype(
"GenericSubExtensionTypeImplements<Object>", "SubGenericClass<num>");
isNotSubtype(
"NestedGenericExtensionType<Object>", "GenericExtensionType<Object>");
isNotSubtype("PotentiallyNullableNestedGenericExtensionType<Object>",
"PotentiallyNullableGenericExtensionType<Object>");
isNotSubtype("NonNullableNestedGenericExtensionType<Object>",
"NonNullableGenericExtensionType<Object>");
}
}

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -63,9 +63,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => js_2::callMethod<T>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -73,7 +73,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
@ -84,14 +84,14 @@ static method method(self::A a) → void {
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::callMethod<self::B /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::callMethod<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -58,9 +58,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -68,7 +68,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -63,9 +63,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => js_2::callMethod<T>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -73,7 +73,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
@ -84,14 +84,14 @@ static method method(self::A a) → void {
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::callMethod<self::B /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::callMethod<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -63,9 +63,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => js_2::callMethod<T>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -73,7 +73,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
@ -84,14 +84,14 @@ static method method(self::A a) → void {
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::callMethod<self::B /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::callMethod<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -61,9 +61,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -71,7 +71,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -58,9 +58,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -68,7 +68,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;

View file

@ -63,9 +63,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => js_2::_callMethodUnchecked0<self::A>(#this, "method");
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => js_2::callMethod<T>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => js_2::callMethod<T%>(#this, "genericMethod", <dynamic>[t]);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member method B|get#property(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
@ -73,7 +73,7 @@ external static extension-type-member method B|set#property(lowered final self::
external static extension-type-member get B|staticField() → self::A;
external static extension-type-member set B|staticField(self::A #externalFieldValue) → void;
external static extension-type-member method B|staticMethod() → self::A;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T t) → self::B|staticGenericMethod::T;
external static extension-type-member method B|staticGenericMethod<T extends self::B /* = self::A */>(self::B|staticGenericMethod::T% t) → self::B|staticGenericMethod::T%;
external static extension-type-member get B|staticGetter() → self::B /* = self::A */;
external static extension-type-member set B|staticSetter(self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticProperty() → self::B /* = self::A */;
@ -84,14 +84,14 @@ static method method(self::A a) → void {
a = js_2::getProperty<self::A>(b1, "field");
js_2::setProperty<self::A>(b1, "field", a);
a = js_2::_callMethodUnchecked0<self::A>(b1, "method");
b2 = js_2::callMethod<self::B /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(b2, "genericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(b2, "getter");
js_2::setProperty<self::B /* = self::A */>(b1, "setter", b2);
js_2::setProperty<self::B /* = self::A */>(b1, "property", js_2::getProperty<self::B /* = self::A */>(b2, "property"));
a = js_2::getProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField");
js_2::setProperty<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticField", a);
a = js_2::_callMethodUnchecked0<self::A>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticMethod");
b2 = js_2::callMethod<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b2 = js_2::callMethod<self::B% /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGenericMethod", <dynamic>[b2]);
b1 = js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticGetter");
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticSetter", b2);
js_2::setProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty", js_2::getProperty<self::B /* = self::A */>(js_2::_getPropertyTrustType<core::Object>(_js2::staticInteropGlobalContext, "B"), "staticProperty"));

View file

@ -8,7 +8,9 @@ class B extends A {}
extension type C(Object? o) {}
extension type D(Object o) {}
extension type D(Object o) implements Object {}
extension type D2(Object o) {}
extension type E(B it) implements A {}
@ -16,26 +18,32 @@ extension type F(B it) implements E, B {}
extension type G<T>(T o) {}
test<T1, T2 extends A>(
extension type G2<T extends Object>(T o) implements Object {}
test<T1, T2 extends A, T3 extends Object>(
Object o,
A a,
B b,
C c,
D d,
D2 d2,
E e,
F f,
G<T1> g1,
G<T2> g2) {
G<T2> g2,
G2<T3> g3) {
o = o; // Ok
o = a; // Ok
o = b; // Ok
o = c; // Error
o = d; // Ok
o = d2; // Error
o = e; // Ok
o = f; // Ok
o = g1; // Error
o = g2; // Ok
o = g2; // Error
o = g3; // Ok
a = o; // Error
a = a; // Ok
@ -116,4 +124,4 @@ test<T1, T2 extends A>(
g2 = f; // Error
g2 = g1; // Error
g2 = g2; // Ok
}
}

View file

@ -2,282 +2,292 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = d2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// - 'Object' is from 'dart:core'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// - 'Object' is from 'dart:core'.
// c = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// c = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// c = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// c = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// c = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// c = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// - 'Object' is from 'dart:core'.
// d = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// d = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// d = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// d = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// d = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// d = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// - 'Object' is from 'dart:core'.
// e = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// e = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// e = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// e = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// e = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// - 'Object' is from 'dart:core'.
// f = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// f = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// f = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// f = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// f = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// f = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// - 'Object' is from 'dart:core'.
// g1 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// g1 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// g1 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// g1 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// g1 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// g1 = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// - 'Object' is from 'dart:core'.
// g2 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// g2 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// g2 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// g2 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// g2 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// g2 = g1; // Error
// ^
//
@ -299,11 +309,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -319,6 +334,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
return #this;
@ -331,6 +351,12 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
return #this;
@ -349,242 +375,256 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic {
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in c as{TypeError} core::Object;
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in d2 as{TypeError} core::Object;
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in g1 as{TypeError} core::Object;
o = g2;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in g2 as{TypeError} core::Object;
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = o; // Error
^" in o as{TypeError} self::A;
a = a;
a = b;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = c; // Error
^" in c as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = d; // Error
^" in d as{TypeError} self::A;
a = e;
a = f;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g1; // Error
^" in g1 as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g2; // Error
^" in g2 as{TypeError} self::A;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
- 'Object' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = o; // Error
^" in o as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = a; // Error
^" in a as{TypeError} self::B;
b = b;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = c; // Error
^" in c as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = d; // Error
^" in d as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = e; // Error
^" in e as{TypeError} self::B;
b = f;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g1; // Error
^" in g1 as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g2; // Error
^" in g2 as{TypeError} self::B;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error
^" in o as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = a; // Error
^" in a as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = b; // Error
^" in b as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = c; // Error
^" in c as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = d; // Error
^" in d as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = e; // Error
^" in e as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = f; // Error
^" in f as{TypeError} Never;
g1 = g1;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = g2; // Error
^" in g2 as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
- 'Object' is from 'dart:core'.
g2 = o; // Error
^" in o as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = a; // Error
^" in a as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = b; // Error
^" in b as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = c; // Error
^" in c as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = d; // Error
^" in d as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = e; // Error
^" in e as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = f; // Error
^" in f as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = g1; // Error
^" in g1 as{TypeError} Never;
g2 = g2;

View file

@ -2,282 +2,292 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = d2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// - 'Object' is from 'dart:core'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// - 'Object' is from 'dart:core'.
// c = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// c = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// c = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// c = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// c = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// c = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// - 'Object' is from 'dart:core'.
// d = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// d = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// d = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// d = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// d = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// d = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// - 'Object' is from 'dart:core'.
// e = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// e = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// e = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// e = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// e = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// - 'Object' is from 'dart:core'.
// f = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// f = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// f = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// f = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// f = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// f = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// - 'Object' is from 'dart:core'.
// g1 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// g1 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// g1 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// g1 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// g1 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// g1 = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// - 'Object' is from 'dart:core'.
// g2 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// g2 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// g2 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// g2 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// g2 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// g2 = g1; // Error
// ^
//
@ -299,11 +309,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -319,6 +334,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
return #this;
@ -331,6 +351,12 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
return #this;
@ -349,242 +375,256 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic {
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in let self::C /* = core::Object? */ #t1 = c in #t1 == null ?{core::Object} #t1 as{TypeError} core::Object : #t1{core::Object};
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in let self::D2 /* = core::Object */ #t2 = d2 in #t2 == null ?{core::Object} #t2 as{TypeError} core::Object : #t2{core::Object};
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in let self::G<self::test::T1%> /* = self::test::T1% */ #t2 = g1 in #t2 == null ?{core::Object} #t2 as{TypeError} core::Object : #t2{core::Object};
o = g2;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
^" in let self::G<self::test::T1%> /* = self::test::T1% */ #t3 = g1 in #t3 == null ?{core::Object} #t3 as{TypeError} core::Object : #t3{core::Object};
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in let self::G<self::test::T2> /* = self::test::T2 */ #t4 = g2 in #t4 == null ?{core::Object} #t4 as{TypeError} core::Object : #t4{core::Object};
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = o; // Error
^" in o as{TypeError} self::A;
a = a;
a = b;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = c; // Error
^" in c as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = d; // Error
^" in d as{TypeError} self::A;
a = e;
a = f;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g1; // Error
^" in g1 as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g2; // Error
^" in g2 as{TypeError} self::A;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
- 'Object' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = o; // Error
^" in o as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = a; // Error
^" in a as{TypeError} self::B;
b = b;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = c; // Error
^" in c as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = d; // Error
^" in d as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = e; // Error
^" in e as{TypeError} self::B;
b = f;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g1; // Error
^" in g1 as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g2; // Error
^" in g2 as{TypeError} self::B;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error
^" in o as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = a; // Error
^" in a as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = b; // Error
^" in b as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = c; // Error
^" in c as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = d; // Error
^" in d as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = e; // Error
^" in e as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = f; // Error
^" in f as{TypeError} Never;
g1 = g1;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = g2; // Error
^" in g2 as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
- 'Object' is from 'dart:core'.
g2 = o; // Error
^" in o as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = a; // Error
^" in a as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = b; // Error
^" in b as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = c; // Error
^" in c as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = d; // Error
^" in d as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = e; // Error
^" in e as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = f; // Error
^" in f as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = g1; // Error
^" in g1 as{TypeError} Never;
g2 = g2;

View file

@ -3,9 +3,11 @@ class A {}
class B extends A {}
extension type C(Object? o) {}
extension type D(Object o) {}
extension type D(Object o) implements Object {}
extension type D2(Object o) {}
extension type E(B it) implements A {}
extension type F(B it) implements E, B {}
extension type G<T>(T o) {}
test<T1, T2 extends A>(
Object o, A a, B b, C c, D d, E e, F f, G<T1> g1, G<T2> g2) {}
extension type G2<T extends Object>(T o) implements Object {}
test<T1, T2 extends A, T3 extends Object>(Object o, A a, B b, C c, D d, D2 d2,
E e, F f, G<T1> g1, G<T2> g2, G2<T3> g3) {}

View file

@ -3,9 +3,11 @@ class A {}
class B extends A {}
extension type C(Object? o) {}
extension type D(Object o) {}
extension type D(Object o) implements Object {}
extension type D2(Object o) {}
extension type E(B it) implements A {}
extension type F(B it) implements E, B {}
extension type G<T>(T o) {}
test<T1, T2 extends A>(
Object o, A a, B b, C c, D d, E e, F f, G<T1> g1, G<T2> g2) {}
extension type G2<T extends Object>(T o) implements Object {}
test<T1, T2 extends A, T3 extends Object>(Object o, A a, B b, C c, D d, D2 d2,
E e, F f, G<T1> g1, G<T2> g2, G2<T3> g3) {}

View file

@ -2,282 +2,292 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = d2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// - 'Object' is from 'dart:core'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// - 'Object' is from 'dart:core'.
// c = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// c = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// c = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// c = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// c = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// c = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// - 'Object' is from 'dart:core'.
// d = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// d = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// d = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// d = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// d = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// d = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// - 'Object' is from 'dart:core'.
// e = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// e = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// e = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// e = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// e = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// - 'Object' is from 'dart:core'.
// f = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// f = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// f = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// f = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// f = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// f = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// - 'Object' is from 'dart:core'.
// g1 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// g1 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// g1 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// g1 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// g1 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// g1 = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// - 'Object' is from 'dart:core'.
// g2 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// g2 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// g2 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// g2 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// g2 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// g2 = g1; // Error
// ^
//
@ -299,11 +309,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -319,6 +334,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
return #this;
@ -331,6 +351,12 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
return #this;
@ -349,242 +375,256 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic {
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in c as{TypeError} core::Object;
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in d2 as{TypeError} core::Object;
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in g1 as{TypeError} core::Object;
o = g2;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in g2 as{TypeError} core::Object;
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = o; // Error
^" in o as{TypeError} self::A;
a = a;
a = b;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = c; // Error
^" in c as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = d; // Error
^" in d as{TypeError} self::A;
a = e;
a = f;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g1; // Error
^" in g1 as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g2; // Error
^" in g2 as{TypeError} self::A;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
- 'Object' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = o; // Error
^" in o as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = a; // Error
^" in a as{TypeError} self::B;
b = b;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = c; // Error
^" in c as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = d; // Error
^" in d as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = e; // Error
^" in e as{TypeError} self::B;
b = f;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g1; // Error
^" in g1 as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g2; // Error
^" in g2 as{TypeError} self::B;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error
^" in o as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = a; // Error
^" in a as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = b; // Error
^" in b as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = c; // Error
^" in c as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = d; // Error
^" in d as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = e; // Error
^" in e as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = f; // Error
^" in f as{TypeError} Never;
g1 = g1;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = g2; // Error
^" in g2 as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
- 'Object' is from 'dart:core'.
g2 = o; // Error
^" in o as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = a; // Error
^" in a as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = b; // Error
^" in b as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = c; // Error
^" in c as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = d; // Error
^" in d as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = e; // Error
^" in e as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = f; // Error
^" in f as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = g1; // Error
^" in g1 as{TypeError} Never;
g2 = g2;

View file

@ -2,282 +2,292 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = d2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// - 'Object' is from 'dart:core'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// - 'Object' is from 'dart:core'.
// c = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// c = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// c = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// c = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// c = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// c = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// - 'Object' is from 'dart:core'.
// d = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// d = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// d = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// d = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// d = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// d = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// - 'Object' is from 'dart:core'.
// e = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// e = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// e = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// e = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// e = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// - 'Object' is from 'dart:core'.
// f = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// f = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// f = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// f = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// f = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// f = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// - 'Object' is from 'dart:core'.
// g1 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// g1 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// g1 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// g1 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// g1 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// g1 = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// - 'Object' is from 'dart:core'.
// g2 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// g2 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// g2 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// g2 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// g2 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// g2 = g1; // Error
// ^
//
@ -299,11 +309,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -319,6 +334,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
return #this;
@ -331,6 +351,12 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
return #this;
@ -349,242 +375,256 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic {
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in c as{TypeError} core::Object;
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in d2 as{TypeError} core::Object;
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in g1 as{TypeError} core::Object;
o = g2;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in g2 as{TypeError} core::Object;
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = o; // Error
^" in o as{TypeError} self::A;
a = a;
a = b;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = c; // Error
^" in c as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = d; // Error
^" in d as{TypeError} self::A;
a = e;
a = f;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g1; // Error
^" in g1 as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g2; // Error
^" in g2 as{TypeError} self::A;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
- 'Object' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = o; // Error
^" in o as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = a; // Error
^" in a as{TypeError} self::B;
b = b;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = c; // Error
^" in c as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = d; // Error
^" in d as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = e; // Error
^" in e as{TypeError} self::B;
b = f;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g1; // Error
^" in g1 as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g2; // Error
^" in g2 as{TypeError} self::B;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error
^" in o as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = a; // Error
^" in a as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = b; // Error
^" in b as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = c; // Error
^" in c as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = d; // Error
^" in d as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = e; // Error
^" in e as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = f; // Error
^" in f as{TypeError} Never;
g1 = g1;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = g2; // Error
^" in g2 as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
- 'Object' is from 'dart:core'.
g2 = o; // Error
^" in o as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = a; // Error
^" in a as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = b; // Error
^" in b as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = c; // Error
^" in c as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = d; // Error
^" in d as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = e; // Error
^" in e as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = f; // Error
^" in f as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = g1; // Error
^" in g1 as{TypeError} Never;
g2 = g2;

View file

@ -15,11 +15,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -35,6 +40,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */
;
static extension-type-member method C|constructor#_#new#tearOff(core::Object? o) → self::C /* = core::Object? */
@ -43,6 +53,10 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
;
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */
;
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */
;
static extension-type-member method E|constructor#_#new#tearOff(self::B it) → self::E /* = self::B */
@ -55,5 +69,9 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
;
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */
;
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic
;

View file

@ -2,282 +2,292 @@ library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = d2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
// - 'Object' is from 'dart:core'.
// o = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
// - 'Object' is from 'dart:core'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// a = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
// - 'Object' is from 'dart:core'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// b = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
// - 'Object' is from 'dart:core'.
// c = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// c = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
// c = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
// c = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
// c = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
// c = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
// c = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
// - 'Object' is from 'dart:core'.
// d = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// d = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
// d = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
// d = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
// d = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
// d = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
// d = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
// - 'Object' is from 'dart:core'.
// e = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// e = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
// e = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
// e = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
// e = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
// e = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
// - 'Object' is from 'dart:core'.
// f = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// f = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
// f = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
// f = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
// f = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
// f = g1; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
// f = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
// - 'Object' is from 'dart:core'.
// g1 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g1 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
// g1 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
// g1 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
// g1 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
// g1 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
// g1 = g2; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
// - 'Object' is from 'dart:core'.
// g2 = o; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
// - 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = a; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
// - 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
// g2 = b; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
// g2 = c; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
// g2 = d; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
// g2 = e; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
// g2 = f; // Error
// ^
//
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
// g2 = g1; // Error
// ^
//
@ -299,11 +309,16 @@ extension type C(core::Object? o) {
constructor • = self::C|constructor#;
constructor tearoff • = self::C|constructor#_#new#tearOff;
}
extension type D(core::Object o) {
extension type D(core::Object o) implements core::Object {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D|constructor#;
constructor tearoff • = self::D|constructor#_#new#tearOff;
}
extension type D2(core::Object o) {
abstract extension-type-member representation-field get o() → core::Object;
constructor • = self::D2|constructor#;
constructor tearoff • = self::D2|constructor#_#new#tearOff;
}
extension type E(self::B it) implements self::A {
abstract extension-type-member representation-field get it() → self::B;
constructor • = self::E|constructor#;
@ -319,6 +334,11 @@ extension type G<T extends core::Object? = dynamic>(T% o) {
constructor • = self::G|constructor#;
constructor tearoff • = self::G|constructor#_#new#tearOff;
}
extension type G2<T extends core::Object>(T o) implements core::Object {
abstract extension-type-member representation-field get o() → T;
constructor • = self::G2|constructor#;
constructor tearoff • = self::G2|constructor#_#new#tearOff;
}
static extension-type-member method C|constructor#(core::Object? o) → self::C /* = core::Object? */ {
lowered final self::C /* = core::Object? */ #this = o;
return #this;
@ -331,6 +351,12 @@ static extension-type-member method D|constructor#(core::Object o) → self::D /
}
static extension-type-member method D|constructor#_#new#tearOff(core::Object o) → self::D /* = core::Object */
return self::D|constructor#(o);
static extension-type-member method D2|constructor#(core::Object o) → self::D2 /* = core::Object */ {
lowered final self::D2 /* = core::Object */ #this = o;
return #this;
}
static extension-type-member method D2|constructor#_#new#tearOff(core::Object o) → self::D2 /* = core::Object */
return self::D2|constructor#(o);
static extension-type-member method E|constructor#(self::B it) → self::E /* = self::B */ {
lowered final self::E /* = self::B */ #this = it;
return #this;
@ -349,242 +375,256 @@ static extension-type-member method G|constructor#<T extends core::Object? = dyn
}
static extension-type-member method G|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::G|constructor#_#new#tearOff::T% o) → self::G<self::G|constructor#_#new#tearOff::T%>% /* = self::G|constructor#_#new#tearOff::T% */
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2) → dynamic {
static extension-type-member method G2|constructor#<T extends core::Object>(self::G2|constructor#::T o) → self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ {
lowered final self::G2<self::G2|constructor#::T> /* = self::G2|constructor#::T */ #this = o;
return #this;
}
static extension-type-member method G2|constructor#_#new#tearOff<T extends core::Object>(self::G2|constructor#_#new#tearOff::T o) → self::G2<self::G2|constructor#_#new#tearOff::T> /* = self::G2|constructor#_#new#tearOff::T */
return self::G2|constructor#<self::G2|constructor#_#new#tearOff::T>(o);
static method test<T1 extends core::Object? = dynamic, T2 extends self::A, T3 extends core::Object>(core::Object o, self::A a, self::B b, self::C /* = core::Object? */ c, self::D /* = core::Object */ d, self::D2 /* = core::Object */ d2, self::E /* = self::B */ e, self::F /* = self::B */ f, self::G<self::test::T1%> /* = self::test::T1% */ g1, self::G<self::test::T2> /* = self::test::T2 */ g2, self::G2<self::test::T3> /* = self::test::T3 */ g3) → dynamic {
o = o;
o = a;
o = b;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:33:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:39:7: Error: A value of type 'C' can't be assigned to a variable of type 'Object' because 'C' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = c; // Error
^" in c;
o = d;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:41:7: Error: A value of type 'D2' can't be assigned to a variable of type 'Object' because 'D2' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = d2; // Error
^" in d2;
o = e;
o = f;
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:37:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'Object' because 'G<T1>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g1; // Error
^" in g1;
o = g2;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:40:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
o = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:45:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'Object' because 'G<T2>' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
o = g2; // Error
^" in g2;
o = g3;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'Object' can't be assigned to a variable of type 'A'.
- 'Object' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = o; // Error
^" in o as{TypeError} self::A;
a = a;
a = b;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:43:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'C' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = c; // Error
^" in c as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:44:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:52:7: Error: A value of type 'D' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = d; // Error
^" in d as{TypeError} self::A;
a = e;
a = f;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:47:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g1; // Error
^" in g1 as{TypeError} self::A;
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:48:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
a = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:56:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
a = g2; // Error
^" in g2 as{TypeError} self::A;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:50:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'Object' can't be assigned to a variable of type 'B'.
- 'Object' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = o; // Error
^" in o as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:51:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:59:7: Error: A value of type 'A' can't be assigned to a variable of type 'B'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = a; // Error
^" in a as{TypeError} self::B;
b = b;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:53:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'C' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = c; // Error
^" in c as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:54:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'D' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = d; // Error
^" in d as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:55:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:63:7: Error: A value of type 'E' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = e; // Error
^" in e as{TypeError} self::B;
b = f;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:57:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g1; // Error
^" in g1 as{TypeError} self::B;
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:58:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
b = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
b = g2; // Error
^" in g2 as{TypeError} self::B;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:60:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'Object' can't be assigned to a variable of type 'C'.
- 'Object' is from 'dart:core'.
c = o; // Error
^" in o as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:61:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:69:7: Error: A value of type 'A' can't be assigned to a variable of type 'C'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = a; // Error
^" in a as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:62:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'B' can't be assigned to a variable of type 'C'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
c = b; // Error
^" in b as{TypeError} self::C /* = core::Object? */;
c = c;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:64:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'D' can't be assigned to a variable of type 'C'.
c = d; // Error
^" in d as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:65:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'E' can't be assigned to a variable of type 'C'.
c = e; // Error
^" in e as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:66:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:74:7: Error: A value of type 'F' can't be assigned to a variable of type 'C'.
c = f; // Error
^" in f as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:67:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'C'.
c = g1; // Error
^" in g1 as{TypeError} self::C /* = core::Object? */;
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:68:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'C'.
c = g2; // Error
^" in g2 as{TypeError} self::C /* = core::Object? */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:70:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'Object' can't be assigned to a variable of type 'D'.
- 'Object' is from 'dart:core'.
d = o; // Error
^" in o as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:71:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:79:7: Error: A value of type 'A' can't be assigned to a variable of type 'D'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = a; // Error
^" in a as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:72:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'B' can't be assigned to a variable of type 'D'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
d = b; // Error
^" in b as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:73:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'C' can't be assigned to a variable of type 'D'.
d = c; // Error
^" in c as{TypeError} self::D /* = core::Object */;
d = d;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:75:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'E' can't be assigned to a variable of type 'D'.
d = e; // Error
^" in e as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:76:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'F' can't be assigned to a variable of type 'D'.
d = f; // Error
^" in f as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:77:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:85:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'D'.
d = g1; // Error
^" in g1 as{TypeError} self::D /* = core::Object */;
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:78:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:86:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'D'.
d = g2; // Error
^" in g2 as{TypeError} self::D /* = core::Object */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:80:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'Object' can't be assigned to a variable of type 'E'.
- 'Object' is from 'dart:core'.
e = o; // Error
^" in o as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:81:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:89:7: Error: A value of type 'A' can't be assigned to a variable of type 'E'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = a; // Error
^" in a as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:82:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'B' can't be assigned to a variable of type 'E'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
e = b; // Error
^" in b as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:83:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'C' can't be assigned to a variable of type 'E'.
e = c; // Error
^" in c as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:84:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'D' can't be assigned to a variable of type 'E'.
e = d; // Error
^" in d as{TypeError} self::E /* = self::B */;
e = e;
e = f;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:87:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'E'.
e = g1; // Error
^" in g1 as{TypeError} self::E /* = self::B */;
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:88:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:96:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'E'.
e = g2; // Error
^" in g2 as{TypeError} self::E /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:90:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'Object' can't be assigned to a variable of type 'F'.
- 'Object' is from 'dart:core'.
f = o; // Error
^" in o as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:91:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:99:7: Error: A value of type 'A' can't be assigned to a variable of type 'F'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = a; // Error
^" in a as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:92:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:7: Error: A value of type 'B' can't be assigned to a variable of type 'F'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
f = b; // Error
^" in b as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:93:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:7: Error: A value of type 'C' can't be assigned to a variable of type 'F'.
f = c; // Error
^" in c as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:94:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:7: Error: A value of type 'D' can't be assigned to a variable of type 'F'.
f = d; // Error
^" in d as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:95:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:7: Error: A value of type 'E' can't be assigned to a variable of type 'F'.
f = e; // Error
^" in e as{TypeError} self::F /* = self::B */;
f = f;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:97:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:7: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'F'.
f = g1; // Error
^" in g1 as{TypeError} self::F /* = self::B */;
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:98:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:7: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'F'.
f = g2; // Error
^" in g2 as{TypeError} self::F /* = self::B */;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:100:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T1>'.
- 'Object' is from 'dart:core'.
g1 = o; // Error
^" in o as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:101:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:109:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T1>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = a; // Error
^" in a as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:102:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T1>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g1 = b; // Error
^" in b as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:103:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T1>'.
g1 = c; // Error
^" in c as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:104:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T1>'.
g1 = d; // Error
^" in d as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:105:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T1>'.
g1 = e; // Error
^" in e as{TypeError} Never;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:106:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T1>'.
g1 = f; // Error
^" in f as{TypeError} Never;
g1 = g1;
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:108:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'G<T2>' can't be assigned to a variable of type 'G<T1>'.
g1 = g2; // Error
^" in g2 as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:110:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:118:8: Error: A value of type 'Object' can't be assigned to a variable of type 'G<T2>'.
- 'Object' is from 'dart:core'.
g2 = o; // Error
^" in o as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:111:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:119:8: Error: A value of type 'A' can't be assigned to a variable of type 'G<T2>'.
- 'A' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = a; // Error
^" in a as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:112:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:120:8: Error: A value of type 'B' can't be assigned to a variable of type 'G<T2>'.
- 'B' is from 'pkg/front_end/testcases/extension_types/assign_interface_type.dart'.
g2 = b; // Error
^" in b as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:113:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:121:8: Error: A value of type 'C' can't be assigned to a variable of type 'G<T2>'.
g2 = c; // Error
^" in c as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:114:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:122:8: Error: A value of type 'D' can't be assigned to a variable of type 'G<T2>'.
g2 = d; // Error
^" in d as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:115:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:123:8: Error: A value of type 'E' can't be assigned to a variable of type 'G<T2>'.
g2 = e; // Error
^" in e as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:116:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:124:8: Error: A value of type 'F' can't be assigned to a variable of type 'G<T2>'.
g2 = f; // Error
^" in f as{TypeError} Never;
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:117:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = invalid-expression "pkg/front_end/testcases/extension_types/assign_interface_type.dart:125:8: Error: A value of type 'G<T1>' can't be assigned to a variable of type 'G<T2>'.
g2 = g1; // Error
^" in g1 as{TypeError} Never;
g2 = g2;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -10,31 +10,6 @@ library;
// typedef Alias22a = Alias22b<int>; /* Error */
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:5:19: Error: An extension type can't depend on itself through its representation type.
// extension type E1(E1 it) /* Error */ {}
// ^
@ -95,6 +70,10 @@ library;
// extension type E6((E6, int) it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:20:24: Error: An extension type can't depend on itself through its representation type.
// extension type E7(void Function<T extends E7>() it) /* Error */ {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:22:22: Error: An extension type can't depend on itself through its representation type.
// extension type E8<T>(List<E8> it) /* Error */ {}
// ^
@ -127,6 +106,13 @@ library;
// typedef Alias12 = void Function(E12);
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:37:20: Error: An extension type can't depend on itself through its representation type.
// extension type E13(Alias13 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:36:9: Context: The issue arises via this type alias.
// typedef Alias13 = void Function<T extends E13>();
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:43:21: Error: An extension type can't depend on itself through its representation type.
// extension type E15a(Alias15<E15b> it) /* Error */ {}
// ^
@ -147,19 +133,6 @@ library;
// typedef Alias15<T> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^
@ -173,6 +146,19 @@ library;
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:49:21: Error: An extension type can't depend on itself through its representation type.
// extension type E16b(Alias16b<int> it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:48:16: Context: The issue arises via this extension type declaration.
// extension type E16a(Alias16a<int> it) /* Error */ {}
// ^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:47:9: Context: The issue arises via this type alias.
// typedef Alias16b<T> = List<E16a>;
// ^^^^^^^^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:46:9: Context: The issue arises via this type alias.
// typedef Alias16a<T> = List<E16b>;
// ^^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:51:20: Error: An extension type can't depend on itself through its representation type.
// extension type E17((int, {E17 a}) it) /* Error */ {}
// ^
@ -191,6 +177,20 @@ library;
// typedef Alias20 = Alias20; /* Error */
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:71:20: Error: An extension type can't depend on itself through its representation type.
// extension type E23(Alias23 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:70:9: Context: The issue arises via this type alias.
// typedef Alias23<T extends E23> = List<T>;
// ^^^^^^^
//
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:74:23: Error: An extension type can't depend on itself through its representation type.
// extension type E24<T>(Alias24 it) /* Error */ {}
// ^
// pkg/front_end/testcases/extension_types/cyclic_representation_type.dart:73:9: Context: The issue arises via this type alias.
// typedef Alias24<T extends E24<T>> = List<T>;
// ^^^^^^^
//
import self as self;
import "dart:core" as core;

View file

@ -73,7 +73,7 @@ static extension-type-member method ExtensionType3|constructor#<T extends core::
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */ {
lowered final self::ExtensionType4 /* = core::int */ #this = it;
@ -133,5 +133,5 @@ static extension-type-member method ExtensionType7|constructor#id<T extends core
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -73,7 +73,7 @@ static extension-type-member method ExtensionType3|constructor#<T extends core::
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */ {
lowered final self::ExtensionType4 /* = core::int */ #this = it;
@ -133,5 +133,5 @@ static extension-type-member method ExtensionType7|constructor#id<T extends core
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -73,7 +73,7 @@ static extension-type-member method ExtensionType3|constructor#<T extends core::
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */ {
lowered final self::ExtensionType4 /* = core::int */ #this = it;
@ -133,5 +133,5 @@ static extension-type-member method ExtensionType7|constructor#id<T extends core
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -73,7 +73,7 @@ static extension-type-member method ExtensionType3|constructor#<T extends core::
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */ {
lowered final self::ExtensionType4 /* = core::int */ #this = it;
@ -133,5 +133,5 @@ static extension-type-member method ExtensionType7|constructor#id<T extends core
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -67,7 +67,7 @@ static extension-type-member method ExtensionType2|constructor#_#new#tearOff(cor
return self::ExtensionType2|constructor#(it);
static extension-type-member method ExtensionType3|constructor#<T extends core::num>(self::ExtensionType3|constructor#::T it) → self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */
;
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */
;
@ -122,5 +122,5 @@ static extension-type-member method ExtensionType6|constructor#_#id#tearOff(core
return self::ExtensionType6|constructor#id(it);
static extension-type-member method ExtensionType7|constructor#id<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */
;
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -73,7 +73,7 @@ static extension-type-member method ExtensionType3|constructor#<T extends core::
lowered final self::ExtensionType3<self::ExtensionType3|constructor#::T> /* = self::ExtensionType3|constructor#::T */ #this = it;
return #this;
}
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T> /* = self::ExtensionType3|constructor#_#new#tearOff::T */
static extension-type-member method ExtensionType3|constructor#_#new#tearOff<T extends core::num>(self::ExtensionType3|constructor#_#new#tearOff::T it) → self::ExtensionType3<self::ExtensionType3|constructor#_#new#tearOff::T>% /* = self::ExtensionType3|constructor#_#new#tearOff::T */
return self::ExtensionType3|constructor#<self::ExtensionType3|constructor#_#new#tearOff::T>(it);
static extension-type-member method ExtensionType4|constructor#(core::int it) → self::ExtensionType4 /* = core::int */ {
lowered final self::ExtensionType4 /* = core::int */ #this = it;
@ -133,5 +133,5 @@ static extension-type-member method ExtensionType7|constructor#id<T extends core
lowered final self::ExtensionType7<self::ExtensionType7|constructor#id::T> /* = core::int */ #this = it;
return #this;
}
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T> /* = core::int */
static extension-type-member method ExtensionType7|constructor#_#id#tearOff<T extends core::num>(core::int it) → self::ExtensionType7<self::ExtensionType7|constructor#_#id#tearOff::T>% /* = core::int */
return self::ExtensionType7|constructor#id<self::ExtensionType7|constructor#_#id#tearOff::T>(it);

View file

@ -55,9 +55,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;
@ -74,7 +74,7 @@ static method method(self::A a) → void {
a = self::B|method(b1);
() → self::A f1 = self::B|get#method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
<T extends self::B /* = self::A */>(T) → T f2 = self::B|get#genericMethod(b2);
<T extends self::B /* = self::A */>(T%) → T% f2 = self::B|get#genericMethod(b2);
(core::int) → core::int f3 = self::B|get#genericMethod(b2)<core::int>;
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);

View file

@ -55,9 +55,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;
@ -74,7 +74,7 @@ static method method(self::A a) → void {
a = self::B|method(b1);
() → self::A f1 = self::B|get#method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
<T extends self::B /* = self::A */>(T) → T f2 = self::B|get#genericMethod(b2);
<T extends self::B /* = self::A */>(T%) → T% f2 = self::B|get#genericMethod(b2);
(core::int) → core::int f3 = self::B|get#genericMethod(b2)<core::int>;
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);

View file

@ -55,9 +55,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;
@ -74,7 +74,7 @@ static method method(self::A a) → void {
a = self::B|method(b1);
() → self::A f1 = self::B|get#method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
<T extends self::B /* = self::A */>(T) → T f2 = self::B|get#genericMethod(b2);
<T extends self::B /* = self::A */>(T%) → T% f2 = self::B|get#genericMethod(b2);
(core::int) → core::int f3 = self::B|get#genericMethod(b2)<core::int>;
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);

View file

@ -55,9 +55,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;
@ -74,7 +74,7 @@ static method method(self::A a) → void {
a = self::B|method(b1);
() → self::A f1 = self::B|get#method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
<T extends self::B /* = self::A */>(T) → T f2 = self::B|get#genericMethod(b2);
<T extends self::B /* = self::A */>(T%) → T% f2 = self::B|get#genericMethod(b2);
(core::int) → core::int f3 = self::B|get#genericMethod(b2)<core::int>;
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);

View file

@ -44,9 +44,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;

View file

@ -55,9 +55,9 @@ external static extension-type-member method B|set#field(lowered self::A #this,
external static extension-type-member method B|method(lowered final self::B /* = self::A */ #this) → self::A;
static extension-type-member method B|get#method(lowered final self::B /* = self::A */ #this) → () → self::A
return () → self::A => self::B|method(#this);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T t) → self::B|genericMethod::T;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T) → T
return <T extends self::B /* = self::A */>(T t) → T => self::B|genericMethod<T>(#this, t);
external static extension-type-member method B|genericMethod<T extends self::B /* = self::A */>(lowered final self::B /* = self::A */ #this, self::B|genericMethod::T% t) → self::B|genericMethod::T%;
static extension-type-member method B|get#genericMethod(lowered final self::B /* = self::A */ #this) → <T extends self::B /* = self::A */>(T%) → T%
return <T extends self::B /* = self::A */>(T% t) → T% => self::B|genericMethod<T%>(#this, t);
external static extension-type-member method B|get#getter(lowered final self::B /* = self::A */ #this) → self::B /* = self::A */;
external static extension-type-member method B|set#setter(lowered final self::B /* = self::A */ #this, self::B /* = self::A */ b) → void;
external static extension-type-member get B|staticField() → self::A;
@ -74,7 +74,7 @@ static method method(self::A a) → void {
a = self::B|method(b1);
() → self::A f1 = self::B|get#method(b1);
b2 = self::B|genericMethod<self::B /* = self::A */>(b2, b2);
<T extends self::B /* = self::A */>(T) → T f2 = self::B|get#genericMethod(b2);
<T extends self::B /* = self::A */>(T%) → T% f2 = self::B|get#genericMethod(b2);
(core::int) → core::int f3 = self::B|get#genericMethod(b2)<core::int>;
b1 = self::B|get#getter(b2);
self::B|set#setter(b1, b2);

View file

@ -383,7 +383,7 @@ static extension-type-member method FunctionInlineClass|constructor#<T extends c
lowered final self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */ #this = it;
return #this;
}
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void {
() → self::FunctionInlineClass|test::T% a1 = #this as{Unchecked} () → self::FunctionInlineClass|test::T%;
@ -409,7 +409,7 @@ Try correcting the name to the name of an existing setter, or defining a setter
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
self::FunctionInlineClass|test::T% d4 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
}
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ {
lowered final self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ #this = it;

View file

@ -383,7 +383,7 @@ static extension-type-member method FunctionInlineClass|constructor#<T extends c
lowered final self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */ #this = it;
return #this;
}
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void {
() → self::FunctionInlineClass|test::T% a1 = #this as{Unchecked} () → self::FunctionInlineClass|test::T%;
@ -409,7 +409,7 @@ Try correcting the name to the name of an existing setter, or defining a setter
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
self::FunctionInlineClass|test::T% d4 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
}
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ {
lowered final self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ #this = it;

View file

@ -383,7 +383,7 @@ static extension-type-member method FunctionInlineClass|constructor#<T extends c
lowered final self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */ #this = it;
return #this;
}
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void {
() → self::FunctionInlineClass|test::T% a1 = #this as{Unchecked} () → self::FunctionInlineClass|test::T%;
@ -409,7 +409,7 @@ Try correcting the name to the name of an existing setter, or defining a setter
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
self::FunctionInlineClass|test::T% d4 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
}
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ {
lowered final self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ #this = it;

View file

@ -383,7 +383,7 @@ static extension-type-member method FunctionInlineClass|constructor#<T extends c
lowered final self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */ #this = it;
return #this;
}
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void {
() → self::FunctionInlineClass|test::T% a1 = #this as{Unchecked} () → self::FunctionInlineClass|test::T%;
@ -409,7 +409,7 @@ Try correcting the name to the name of an existing setter, or defining a setter
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
self::FunctionInlineClass|test::T% d4 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
}
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ {
lowered final self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ #this = it;

View file

@ -77,11 +77,11 @@ static extension-type-member method GenericInlineClass|get#test<T extends core::
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
static extension-type-member method FunctionInlineClass|constructor#<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */
;
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void
;
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */
;

View file

@ -383,7 +383,7 @@ static extension-type-member method FunctionInlineClass|constructor#<T extends c
lowered final self::FunctionInlineClass<self::FunctionInlineClass|constructor#::T%> /* = () → self::FunctionInlineClass|constructor#::T% */ #this = it;
return #this;
}
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%> /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
static extension-type-member method FunctionInlineClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::FunctionInlineClass|constructor#_#new#tearOff::T% it) → self::FunctionInlineClass<self::FunctionInlineClass|constructor#_#new#tearOff::T%>% /* = () → self::FunctionInlineClass|constructor#_#new#tearOff::T% */
return self::FunctionInlineClass|constructor#<self::FunctionInlineClass|constructor#_#new#tearOff::T%>(it);
static extension-type-member method FunctionInlineClass|test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|test::T%> /* = () → self::FunctionInlineClass|test::T% */ #this, () → self::FunctionInlineClass|test::T% t) → void {
() → self::FunctionInlineClass|test::T% a1 = #this as{Unchecked} () → self::FunctionInlineClass|test::T%;
@ -409,7 +409,7 @@ Try correcting the name to the name of an existing setter, or defining a setter
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
self::FunctionInlineClass|test::T% d4 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
}
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%> /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
static extension-type-member method FunctionInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::FunctionInlineClass<self::FunctionInlineClass|get#test::T%>% /* = () → self::FunctionInlineClass|get#test::T% */ #this) → (() → self::FunctionInlineClass|get#test::T%) → void
return (() → self::FunctionInlineClass|get#test::T% t) → void => self::FunctionInlineClass|test<self::FunctionInlineClass|get#test::T%>(#this, t);
static extension-type-member method GenericFunctionInlineClass|constructor#(<T extends core::Object? = dynamic>() → T% it) → self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ {
lowered final self::GenericFunctionInlineClass /* = <T extends core::Object? = dynamic>() → T% */ #this = it;

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -15,16 +15,16 @@ static extension-type-member method ET3|constructor#<T extends core::num>(core::
lowered final self::ET3<self::ET3|constructor#::T> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#new#tearOff<T extends core::num>(core::int id) → self::ET3<self::ET3|constructor#_#new#tearOff::T>% /* = core::int */
return self::ET3|constructor#<self::ET3|constructor#_#new#tearOff::T>(id);
static extension-type-member method ET3|constructor#c1<T extends core::num>() → self::ET3<self::ET3|constructor#c1::T> /* = core::int */ {
lowered final self::ET3<self::ET3|constructor#c1::T> /* = core::int */ #this;
#this = self::ET3|constructor#<self::ET3|constructor#c1::T>(0);
return #this;
}
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#c1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#c1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#c1#tearOff::T>();
static extension-type-member method ET3|constructor#f1<T extends core::num>() → self::ET3<self::ET3|constructor#f1::T> /* = core::int */ /* redirection-target: self::ET3|constructor#c1<self::ET3|constructor#f1::T>*/
return self::ET3|constructor#c1<self::ET3|constructor#f1::T>();
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T> /* = core::int */
static extension-type-member method ET3|constructor#_#f1#tearOff<T extends core::num>() → self::ET3<self::ET3|constructor#_#f1#tearOff::T>% /* = core::int */
return self::ET3|constructor#c1<self::ET3|constructor#_#f1#tearOff::T>();

View file

@ -36,11 +36,11 @@ static extension-type-member method A|constructor#<T extends core::Object? = dyn
lowered final self::A<self::A|constructor#::T%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
return throw "";
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
return throw "";
@ -51,11 +51,11 @@ static extension-type-member method B|constructor#<S extends core::Object? = dyn
lowered final self::B<self::B|constructor#::S%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
return self::A|method<self::B|method2::S%>(#this);
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
return self::A|get#getter<self::B|get#getter2::S%>(#this);

View file

@ -36,11 +36,11 @@ static extension-type-member method A|constructor#<T extends core::Object? = dyn
lowered final self::A<self::A|constructor#::T%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
return throw "";
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
return throw "";
@ -51,11 +51,11 @@ static extension-type-member method B|constructor#<S extends core::Object? = dyn
lowered final self::B<self::B|constructor#::S%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
return self::A|method<self::B|method2::S%>(#this);
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
return self::A|get#getter<self::B|get#getter2::S%>(#this);

View file

@ -36,11 +36,11 @@ static extension-type-member method A|constructor#<T extends core::Object? = dyn
lowered final self::A<self::A|constructor#::T%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
return throw "";
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
return throw "";
@ -51,11 +51,11 @@ static extension-type-member method B|constructor#<S extends core::Object? = dyn
lowered final self::B<self::B|constructor#::S%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
return self::A|method<self::B|method2::S%>(#this);
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
return self::A|get#getter<self::B|get#getter2::S%>(#this);

View file

@ -36,11 +36,11 @@ static extension-type-member method A|constructor#<T extends core::Object? = dyn
lowered final self::A<self::A|constructor#::T%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
return throw "";
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
return throw "";
@ -51,11 +51,11 @@ static extension-type-member method B|constructor#<S extends core::Object? = dyn
lowered final self::B<self::B|constructor#::S%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
return self::A|method<self::B|method2::S%>(#this);
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
return self::A|get#getter<self::B|get#getter2::S%>(#this);

View file

@ -34,11 +34,11 @@ extension type C(core::Object i) implements self::A<core::int> /* = core::Object
}
static extension-type-member method A|constructor#<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#::T%> /* = core::Object */
;
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
;
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
;
@ -48,11 +48,11 @@ static extension-type-member method A|[]<T extends core::Object? = dynamic>(lowe
;
static extension-type-member method B|constructor#<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#::S%> /* = core::Object */
;
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
;
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
;

View file

@ -36,11 +36,11 @@ static extension-type-member method A|constructor#<T extends core::Object? = dyn
lowered final self::A<self::A|constructor#::T%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%> /* = core::Object */
static extension-type-member method A|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::Object it) → self::A<self::A|constructor#_#new#tearOff::T%>% /* = core::Object */
return self::A|constructor#<self::A|constructor#_#new#tearOff::T%>(it);
static extension-type-member method A|method<T extends core::Object? = dynamic>(lowered final self::A<self::A|method::T%> /* = core::Object */ #this) → self::A|method::T%
return throw "";
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%> /* = core::Object */ #this) → () → self::A|get#method::T%
static extension-type-member method A|get#method<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#method::T%>% /* = core::Object */ #this) → () → self::A|get#method::T%
return () → self::A|get#method::T% => self::A|method<self::A|get#method::T%>(#this);
static extension-type-member method A|get#getter<T extends core::Object? = dynamic>(lowered final self::A<self::A|get#getter::T%> /* = core::Object */ #this) → self::A|get#getter::T%
return throw "";
@ -51,11 +51,11 @@ static extension-type-member method B|constructor#<S extends core::Object? = dyn
lowered final self::B<self::B|constructor#::S%> /* = core::Object */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%> /* = core::Object */
static extension-type-member method B|constructor#_#new#tearOff<S extends core::Object? = dynamic>(core::Object it) → self::B<self::B|constructor#_#new#tearOff::S%>% /* = core::Object */
return self::B|constructor#<self::B|constructor#_#new#tearOff::S%>(it);
static extension-type-member method B|method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|method2::S%> /* = core::Object */ #this) → self::B|method2::S%
return self::A|method<self::B|method2::S%>(#this);
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%> /* = core::Object */ #this) → () → self::B|get#method2::S%
static extension-type-member method B|get#method2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#method2::S%>% /* = core::Object */ #this) → () → self::B|get#method2::S%
return () → self::B|get#method2::S% => self::B|method2<self::B|get#method2::S%>(#this);
static extension-type-member method B|get#getter2<S extends core::Object? = dynamic>(lowered final self::B<self::B|get#getter2::S%> /* = core::Object */ #this) → self::B|get#getter2::S%
return self::A|get#getter<self::B|get#getter2::S%>(#this);

View file

@ -87,7 +87,7 @@ static extension-type-member method H|constructor#<T extends core::Object? = dyn
lowered final self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */ #this = h;
return #this;
}
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic {
self::A /* = core::int */ a = self::A|constructor#(42);

View file

@ -87,7 +87,7 @@ static extension-type-member method H|constructor#<T extends core::Object? = dyn
lowered final self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */ #this = h;
return #this;
}
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic {
self::A /* = core::int */ a = self::A|constructor#(42);

View file

@ -87,7 +87,7 @@ static extension-type-member method H|constructor#<T extends core::Object? = dyn
lowered final self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */ #this = h;
return #this;
}
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic {
self::A /* = core::int */ a = self::A|constructor#(42);

View file

@ -87,7 +87,7 @@ static extension-type-member method H|constructor#<T extends core::Object? = dyn
lowered final self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */ #this = h;
return #this;
}
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic {
self::A /* = core::int */ a = self::A|constructor#(42);

View file

@ -74,7 +74,7 @@ static extension-type-member method G|constructor#_#new#tearOff<T extends core::
return self::G|constructor#<self::G|constructor#_#new#tearOff::T%>(g);
static extension-type-member method H|constructor#<T extends core::Object? = dynamic>(core::List<self::H|constructor#::T%> h) → self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */
;
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic
;

View file

@ -87,7 +87,7 @@ static extension-type-member method H|constructor#<T extends core::Object? = dyn
lowered final self::H<self::H|constructor#::T%> /* = core::List<self::H|constructor#::T%> */ #this = h;
return #this;
}
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%> /* = core::List<self::H|constructor#_#new#tearOff::T%> */
static extension-type-member method H|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::H|constructor#_#new#tearOff::T%> h) → self::H<self::H|constructor#_#new#tearOff::T%>% /* = core::List<self::H|constructor#_#new#tearOff::T%> */
return self::H|constructor#<self::H|constructor#_#new#tearOff::T%>(h);
static method main() → dynamic {
self::A /* = core::int */ a = self::A|constructor#(42);

View file

@ -24,6 +24,6 @@ static extension-type-member method Class3|constructor#<T extends core::Object?
lowered final self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic {}

View file

@ -24,6 +24,6 @@ static extension-type-member method Class3|constructor#<T extends core::Object?
lowered final self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic {}

View file

@ -24,6 +24,6 @@ static extension-type-member method Class3|constructor#<T extends core::Object?
lowered final self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic {}

View file

@ -24,6 +24,6 @@ static extension-type-member method Class3|constructor#<T extends core::Object?
lowered final self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic {}

View file

@ -20,7 +20,7 @@ static extension-type-member method Class1|constructor#_#new#tearOff(core::int i
return self::Class1|constructor#(it);
static extension-type-member method Class3|constructor#<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#::T%> it) → self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */
;
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic
;

View file

@ -24,6 +24,6 @@ static extension-type-member method Class3|constructor#<T extends core::Object?
lowered final self::Class3<self::Class3|constructor#::T%> /* = core::List<self::Class3|constructor#::T%> */ #this = it;
return #this;
}
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%> /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
static extension-type-member method Class3|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::List<self::Class3|constructor#_#new#tearOff::T%> it) → self::Class3<self::Class3|constructor#_#new#tearOff::T%>% /* = core::List<self::Class3|constructor#_#new#tearOff::T%> */
return self::Class3|constructor#<self::Class3|constructor#_#new#tearOff::T%>(it);
static method method(self::Class1 /* = core::int */ c1, self::Class3<core::int> /* = core::List<core::int> */ c3) → dynamic {}

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = #C1;
static const field self::V<core::int>% /* = core::int */ c = #C1;
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);
constants {

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = #C1;
static const field self::V<core::int>% /* = core::int */ c = #C1;
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);
constants {

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = #C1;
static const field self::V<core::int>% /* = core::int */ c = #C1;
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);
constants {

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = #C1;
static const field self::V<core::int>% /* = core::int */ c = #C1;
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);
constants {

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = const self::V|constructor#<core::int>(0);
static const field self::V<core::int>% /* = core::int */ c = const self::V|constructor#<core::int>(0);
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);

View file

@ -7,12 +7,12 @@ extension type V<T extends core::Object? = dynamic>(core::int id) {
constructor • = self::V|constructor#;
constructor tearoff • = self::V|constructor#_#new#tearOff;
}
static const field self::V<core::int> /* = core::int */ c = #C1;
static const field self::V<core::int>% /* = core::int */ c = #C1;
static extension-type-member method V|constructor#<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#::T%> /* = core::int */ {
lowered final self::V<self::V|constructor#::T%> /* = core::int */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%> /* = core::int */
static extension-type-member method V|constructor#_#new#tearOff<T extends core::Object? = dynamic>(core::int id) → self::V<self::V|constructor#_#new#tearOff::T%>% /* = core::int */
return self::V|constructor#<self::V|constructor#_#new#tearOff::T%>(id);
constants {

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f = #C2;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
}
@ -19,16 +19,16 @@ static extension-type-member method V|constructor#<X1 extends core::num, X2 exte
lowered final self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
return t as self::V<core::int, core::int> /* = core::int */;
static method main() → dynamic {
self::V<core::int, core::num> /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::V<core::int, core::num>% /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::expect(42, v as{Unchecked} core::int);
self::expect(v, self::foo<self::V<core::int, core::num> /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int> /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int> /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(v, self::foo<self::V<core::int, core::num>% /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f = #C2;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
}
@ -19,16 +19,16 @@ static extension-type-member method V|constructor#<X1 extends core::num, X2 exte
lowered final self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
return t as self::V<core::int, core::int> /* = core::int */;
static method main() → dynamic {
self::V<core::int, core::num> /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::V<core::int, core::num>% /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::expect(42, v as{Unchecked} core::int);
self::expect(v, self::foo<self::V<core::int, core::num> /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int> /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int> /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(v, self::foo<self::V<core::int, core::num>% /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f = #C2;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
}
@ -19,16 +19,16 @@ static extension-type-member method V|constructor#<X1 extends core::num, X2 exte
lowered final self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
return t as self::V<core::int, core::int> /* = core::int */;
static method main() → dynamic {
self::V<core::int, core::num> /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::V<core::int, core::num>% /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::expect(42, v as{Unchecked} core::int);
self::expect(v, self::foo<self::V<core::int, core::num> /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int> /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int> /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(v, self::foo<self::V<core::int, core::num>% /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f = #C2;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
}
@ -19,16 +19,16 @@ static extension-type-member method V|constructor#<X1 extends core::num, X2 exte
lowered final self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
return t as self::V<core::int, core::int> /* = core::int */;
static method main() → dynamic {
self::V<core::int, core::num> /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::V<core::int, core::num>% /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::expect(42, v as{Unchecked} core::int);
self::expect(v, self::foo<self::V<core::int, core::num> /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int> /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int> /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(v, self::foo<self::V<core::int, core::num>% /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
;
}
extension type V<X1 extends core::num, X2 extends core::Object>(X1 id) {
@ -16,9 +16,9 @@ extension type V<X1 extends core::num, X2 extends core::Object>(X1 id) {
}
static extension-type-member method V|constructor#<X1 extends core::num, X2 extends core::Object>(self::V|constructor#::X1 id) → self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */
;
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
;
static method main() → dynamic
;

View file

@ -6,7 +6,7 @@ typedef Foo<unrelated T extends self::V<core::num, core::Object> /* = core::num
typedef IntNumV = self::V<core::int, core::num> /* = core::int */;
class C<T extends self::V<core::num, core::Object> /* = core::num */> extends core::Object {
field (self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */ f = #C2;
synthetic constructor •() → self::C<self::C::T>
synthetic constructor •() → self::C<self::C::T%>
: super core::Object::•()
;
}
@ -19,16 +19,16 @@ static extension-type-member method V|constructor#<X1 extends core::num, X2 exte
lowered final self::V<self::V|constructor#::X1, self::V|constructor#::X2> /* = self::V|constructor#::X1 */ #this = id;
return #this;
}
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2> /* = self::V|constructor#_#new#tearOff::X1 */
static extension-type-member method V|constructor#_#new#tearOff<X1 extends core::num, X2 extends core::Object>(self::V|constructor#_#new#tearOff::X1 id) → self::V<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>% /* = self::V|constructor#_#new#tearOff::X1 */
return self::V|constructor#<self::V|constructor#_#new#tearOff::X1, self::V|constructor#_#new#tearOff::X2>(id);
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T t) → self::V<core::int, core::int> /* = core::int */
static method foo<T extends self::V<core::num, core::Object> /* = core::num */>(self::foo::T% t) → self::V<core::int, core::int> /* = core::int */
return t as self::V<core::int, core::int> /* = core::int */;
static method main() → dynamic {
self::V<core::int, core::num> /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::V<core::int, core::num>% /* = core::int */ v = self::V|constructor#<core::int, core::num>(42);
self::expect(42, v as{Unchecked} core::int);
self::expect(v, self::foo<self::V<core::int, core::num> /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int> /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int> /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int> /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(v, self::foo<self::V<core::int, core::num>% /* = core::int */>(v));
self::expect(self::V|constructor#<core::int, core::int>(0), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t1 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t2 = self::V|constructor#<core::int, core::int>(0) in #t1.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t2){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
self::expect(self::V|constructor#<core::int, core::Object>(1), let final self::C<self::V<core::int, core::int>% /* = core::int */> #t3 = new self::C::•<self::V<core::int, core::int> /* = core::int */>() in let final self::V<core::int, core::int>% /* = core::int */ #t4 = self::V|constructor#<core::int, core::int>(1) in #t3.{self::C::f}{(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */}(#t4){(self::V<core::int, core::int> /* = core::int */) → self::V<core::int, core::int> /* = core::int */});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))

View file

@ -87,7 +87,7 @@ static extension-type-member method E2|constructor#<X extends asy::Future<core::
lowered final self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/ {
lowered final self::E3 /* = FutureOr<core::bool>*/ #this = foo;
@ -99,7 +99,7 @@ static extension-type-member method E4|constructor#<X extends FutureOr<core::dou
lowered final self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ {
lowered final self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ #this = foo;

View file

@ -87,7 +87,7 @@ static extension-type-member method E2|constructor#<X extends asy::Future<core::
lowered final self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/ {
lowered final self::E3 /* = FutureOr<core::bool>*/ #this = foo;
@ -99,7 +99,7 @@ static extension-type-member method E4|constructor#<X extends FutureOr<core::dou
lowered final self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ {
lowered final self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ #this = foo;

View file

@ -87,7 +87,7 @@ static extension-type-member method E2|constructor#<X extends asy::Future<core::
lowered final self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/ {
lowered final self::E3 /* = FutureOr<core::bool>*/ #this = foo;
@ -99,7 +99,7 @@ static extension-type-member method E4|constructor#<X extends FutureOr<core::dou
lowered final self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ {
lowered final self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ #this = foo;

View file

@ -87,7 +87,7 @@ static extension-type-member method E2|constructor#<X extends asy::Future<core::
lowered final self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/ {
lowered final self::E3 /* = FutureOr<core::bool>*/ #this = foo;
@ -99,7 +99,7 @@ static extension-type-member method E4|constructor#<X extends FutureOr<core::dou
lowered final self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ {
lowered final self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ #this = foo;

View file

@ -56,7 +56,7 @@ static extension-type-member method E1|constructor#_#new#tearOff(asy::Future<cor
return self::E1|constructor#(foo);
static extension-type-member method E2|constructor#<X extends asy::Future<core::String>>(self::E2|constructor#::X foo) → self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */
;
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/
;
@ -64,7 +64,7 @@ static extension-type-member method E3|constructor#_#new#tearOff(FutureOr<core::
return self::E3|constructor#(foo);
static extension-type-member method E4|constructor#<X extends FutureOr<core::double>>(self::E4|constructor#::X foo) → self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */
;
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */
;

View file

@ -87,7 +87,7 @@ static extension-type-member method E2|constructor#<X extends asy::Future<core::
lowered final self::E2<self::E2|constructor#::X> /* = self::E2|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X> /* = self::E2|constructor#_#new#tearOff::X */
static extension-type-member method E2|constructor#_#new#tearOff<X extends asy::Future<core::String>>(self::E2|constructor#_#new#tearOff::X foo) → self::E2<self::E2|constructor#_#new#tearOff::X>% /* = self::E2|constructor#_#new#tearOff::X */
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E3|constructor#(FutureOr<core::bool>foo) → self::E3 /* = FutureOr<core::bool>*/ {
lowered final self::E3 /* = FutureOr<core::bool>*/ #this = foo;
@ -99,7 +99,7 @@ static extension-type-member method E4|constructor#<X extends FutureOr<core::dou
lowered final self::E4<self::E4|constructor#::X> /* = self::E4|constructor#::X */ #this = foo;
return #this;
}
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X> /* = self::E4|constructor#_#new#tearOff::X */
static extension-type-member method E4|constructor#_#new#tearOff<X extends FutureOr<core::double>>(self::E4|constructor#_#new#tearOff::X foo) → self::E4<self::E4|constructor#_#new#tearOff::X>% /* = self::E4|constructor#_#new#tearOff::X */
return self::E4|constructor#<self::E4|constructor#_#new#tearOff::X>(foo);
static extension-type-member method E5|constructor#<X extends core::Object? = dynamic>(self::E5|constructor#::X% foo) → self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ {
lowered final self::E5<self::E5|constructor#::X%> /* = self::E5|constructor#::X% */ #this = foo;

View file

@ -12,7 +12,7 @@ static extension-type-member method E|constructor#<T extends core::Object? = dyn
lowered final self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
return (#this as{Unchecked} ({required t: self::E|get#t::T%})).t{self::E|get#t::T%};

View file

@ -12,7 +12,7 @@ static extension-type-member method E|constructor#<T extends core::Object? = dyn
lowered final self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
return (#this as{Unchecked} ({required t: self::E|get#t::T%})).t{self::E|get#t::T%};

View file

@ -13,7 +13,7 @@ static extension-type-member method E|constructor#<T extends core::Object? = dyn
lowered final self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
return (#this as{Unchecked} ({required t: self::E|get#t::T%})).t{self::E|get#t::T%};

View file

@ -13,7 +13,7 @@ static extension-type-member method E|constructor#<T extends core::Object? = dyn
lowered final self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
return (#this as{Unchecked} ({required t: self::E|get#t::T%})).t{self::E|get#t::T%};

View file

@ -10,7 +10,7 @@ extension type E<T extends core::Object? = dynamic>(({required t: T%}) it) {
}
static extension-type-member method E|constructor#<T extends core::Object? = dynamic>(({required t: self::E|constructor#::T%}) it) → self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */
;
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
;

View file

@ -13,7 +13,7 @@ static extension-type-member method E|constructor#<T extends core::Object? = dyn
lowered final self::E<self::E|constructor#::T%> /* =({required t: self::E|constructor#::T%}) */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%> /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
static extension-type-member method E|constructor#_#new#tearOff<T extends core::Object? = dynamic>(({required t: self::E|constructor#_#new#tearOff::T%}) it) → self::E<self::E|constructor#_#new#tearOff::T%>% /* =({required t: self::E|constructor#_#new#tearOff::T%}) */
return self::E|constructor#<self::E|constructor#_#new#tearOff::T%>(it);
static extension-type-member method E|get#t<T extends core::Object? = dynamic>(lowered final self::E<self::E|get#t::T%> /* =({required t: self::E|get#t::T%}) */ #this) → self::E|get#t::T%
return (#this as{Unchecked} ({required t: self::E|get#t::T%})).t{self::E|get#t::T%};

View file

@ -113,71 +113,71 @@ static extension-type-member method ET_Contravariant|constructor#<T extends core
lowered final self::ET_Contravariant<self::ET_Contravariant|constructor#::T%> /* = (self::ET_Contravariant|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_Contravariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Contravariant|constructor#_#new#tearOff::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|constructor#_#new#tearOff::T%> /* = (self::ET_Contravariant|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_Contravariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Contravariant|constructor#_#new#tearOff::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|constructor#_#new#tearOff::T%>% /* = (self::ET_Contravariant|constructor#_#new#tearOff::T%) → void */
return self::ET_Contravariant|constructor#<self::ET_Contravariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Invariant|constructor#<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#::T%> /* = <S extends self::ET_Invariant|constructor#::T% = dynamic>() → void */ {
lowered final self::ET_Invariant<self::ET_Invariant|constructor#::T%> /* = <S extends self::ET_Invariant|constructor#::T% = dynamic>() → void */ #this = f;
return #this;
}
static extension-type-member method ET_Invariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#_#new#tearOff::T%> /* = <S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void */
static extension-type-member method ET_Invariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#_#new#tearOff::T%>% /* = <S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void */
return self::ET_Invariant|constructor#<self::ET_Invariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Covariant|constructor#<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#::T%> /* = () → self::ET_Covariant|constructor#::T% */ {
lowered final self::ET_Covariant<self::ET_Covariant|constructor#::T%> /* = () → self::ET_Covariant|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_Covariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#_#new#tearOff::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#_#new#tearOff::T%> /* = () → self::ET_Covariant|constructor#_#new#tearOff::T% */
static extension-type-member method ET_Covariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#_#new#tearOff::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#_#new#tearOff::T%>% /* = () → self::ET_Covariant|constructor#_#new#tearOff::T% */
return self::ET_Covariant|constructor#<self::ET_Covariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Bivariant|constructor#<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#::T%> /* = (self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% */ {
lowered final self::ET_Bivariant<self::ET_Bivariant|constructor#::T%> /* = (self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_Bivariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#_#new#tearOff::T%> /* = (self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% */
static extension-type-member method ET_Bivariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#_#new#tearOff::T%>% /* = (self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% */
return self::ET_Bivariant|constructor#<self::ET_Bivariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias|constructor#<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#::T%> /* = (self::ET_ContravariantAlias|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#::T%> /* = (self::ET_ContravariantAlias|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%> /* = (self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%>% /* = (self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias|constructor#<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_InvariantAlias|constructor#<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#::T%> /* = <S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void */ {
lowered final self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#::T%> /* = <S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void */ #this = f;
return #this;
}
static extension-type-member method ET_InvariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#_#new#tearOff::T%> /* = <S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void */
static extension-type-member method ET_InvariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#_#new#tearOff::T%>% /* = <S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void */
return self::ET_InvariantAlias|constructor#<self::ET_InvariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias|constructor#<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#::T%> /* = () → self::ET_CovariantAlias|constructor#::T% */ {
lowered final self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#::T%> /* = () → self::ET_CovariantAlias|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#_#new#tearOff::T%> /* = () → self::ET_CovariantAlias|constructor#_#new#tearOff::T% */
static extension-type-member method ET_CovariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#_#new#tearOff::T%>% /* = () → self::ET_CovariantAlias|constructor#_#new#tearOff::T% */
return self::ET_CovariantAlias|constructor#<self::ET_CovariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_BivariantAlias|constructor#<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#::T%> /* = (self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% */ {
lowered final self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#::T%> /* = (self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_BivariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#_#new#tearOff::T%> /* = (self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% */
static extension-type-member method ET_BivariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#_#new#tearOff::T%>% /* = (self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% */
return self::ET_BivariantAlias|constructor#<self::ET_BivariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias1|constructor#<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#::T%> /* = () → (self::ET_ContravariantAlias1|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#::T%> /* = () → (self::ET_ContravariantAlias1|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%> /* = () → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%>% /* = () → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias1|constructor#<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias2|constructor#<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#::T%> /* = (() → self::ET_ContravariantAlias2|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#::T%> /* = (() → self::ET_ContravariantAlias2|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%> /* = (() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%>% /* = (() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias2|constructor#<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias1|constructor#<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#::T%> /* = () → () → self::ET_CovariantAlias1|constructor#::T% */ {
lowered final self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#::T%> /* = () → () → self::ET_CovariantAlias1|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%> /* = () → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% */
static extension-type-member method ET_CovariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%>% /* = () → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% */
return self::ET_CovariantAlias1|constructor#<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias2|constructor#<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#::T%> /* = ((self::ET_CovariantAlias2|constructor#::T%) → void) → void */ {
lowered final self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#::T%> /* = ((self::ET_CovariantAlias2|constructor#::T%) → void) → void */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%> /* = ((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void */
static extension-type-member method ET_CovariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%>% /* = ((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void */
return self::ET_CovariantAlias2|constructor#<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%>(f);

View file

@ -113,71 +113,71 @@ static extension-type-member method ET_Contravariant|constructor#<T extends core
lowered final self::ET_Contravariant<self::ET_Contravariant|constructor#::T%> /* = (self::ET_Contravariant|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_Contravariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Contravariant|constructor#_#new#tearOff::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|constructor#_#new#tearOff::T%> /* = (self::ET_Contravariant|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_Contravariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Contravariant|constructor#_#new#tearOff::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|constructor#_#new#tearOff::T%>% /* = (self::ET_Contravariant|constructor#_#new#tearOff::T%) → void */
return self::ET_Contravariant|constructor#<self::ET_Contravariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Invariant|constructor#<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#::T%> /* = <S extends self::ET_Invariant|constructor#::T% = dynamic>() → void */ {
lowered final self::ET_Invariant<self::ET_Invariant|constructor#::T%> /* = <S extends self::ET_Invariant|constructor#::T% = dynamic>() → void */ #this = f;
return #this;
}
static extension-type-member method ET_Invariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#_#new#tearOff::T%> /* = <S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void */
static extension-type-member method ET_Invariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|constructor#_#new#tearOff::T%>% /* = <S extends self::ET_Invariant|constructor#_#new#tearOff::T% = dynamic>() → void */
return self::ET_Invariant|constructor#<self::ET_Invariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Covariant|constructor#<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#::T%> /* = () → self::ET_Covariant|constructor#::T% */ {
lowered final self::ET_Covariant<self::ET_Covariant|constructor#::T%> /* = () → self::ET_Covariant|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_Covariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#_#new#tearOff::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#_#new#tearOff::T%> /* = () → self::ET_Covariant|constructor#_#new#tearOff::T% */
static extension-type-member method ET_Covariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_Covariant|constructor#_#new#tearOff::T% f) → self::ET_Covariant<self::ET_Covariant|constructor#_#new#tearOff::T%>% /* = () → self::ET_Covariant|constructor#_#new#tearOff::T% */
return self::ET_Covariant|constructor#<self::ET_Covariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_Bivariant|constructor#<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#::T%> /* = (self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% */ {
lowered final self::ET_Bivariant<self::ET_Bivariant|constructor#::T%> /* = (self::ET_Bivariant|constructor#::T%) → self::ET_Bivariant|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_Bivariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#_#new#tearOff::T%> /* = (self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% */
static extension-type-member method ET_Bivariant|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% f) → self::ET_Bivariant<self::ET_Bivariant|constructor#_#new#tearOff::T%>% /* = (self::ET_Bivariant|constructor#_#new#tearOff::T%) → self::ET_Bivariant|constructor#_#new#tearOff::T% */
return self::ET_Bivariant|constructor#<self::ET_Bivariant|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias|constructor#<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#::T%> /* = (self::ET_ContravariantAlias|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#::T%> /* = (self::ET_ContravariantAlias|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%> /* = (self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%>% /* = (self::ET_ContravariantAlias|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias|constructor#<self::ET_ContravariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_InvariantAlias|constructor#<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#::T%> /* = <S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void */ {
lowered final self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#::T%> /* = <S extends self::ET_InvariantAlias|constructor#::T% = dynamic>() → void */ #this = f;
return #this;
}
static extension-type-member method ET_InvariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#_#new#tearOff::T%> /* = <S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void */
static extension-type-member method ET_InvariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|constructor#_#new#tearOff::T%>% /* = <S extends self::ET_InvariantAlias|constructor#_#new#tearOff::T% = dynamic>() → void */
return self::ET_InvariantAlias|constructor#<self::ET_InvariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias|constructor#<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#::T%> /* = () → self::ET_CovariantAlias|constructor#::T% */ {
lowered final self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#::T%> /* = () → self::ET_CovariantAlias|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#_#new#tearOff::T%> /* = () → self::ET_CovariantAlias|constructor#_#new#tearOff::T% */
static extension-type-member method ET_CovariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|constructor#_#new#tearOff::T%>% /* = () → self::ET_CovariantAlias|constructor#_#new#tearOff::T% */
return self::ET_CovariantAlias|constructor#<self::ET_CovariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_BivariantAlias|constructor#<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#::T%> /* = (self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% */ {
lowered final self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#::T%> /* = (self::ET_BivariantAlias|constructor#::T%) → self::ET_BivariantAlias|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_BivariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#_#new#tearOff::T%> /* = (self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% */
static extension-type-member method ET_BivariantAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>((self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|constructor#_#new#tearOff::T%>% /* = (self::ET_BivariantAlias|constructor#_#new#tearOff::T%) → self::ET_BivariantAlias|constructor#_#new#tearOff::T% */
return self::ET_BivariantAlias|constructor#<self::ET_BivariantAlias|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias1|constructor#<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#::T%> /* = () → (self::ET_ContravariantAlias1|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#::T%> /* = () → (self::ET_ContravariantAlias1|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%> /* = () → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%>% /* = () → (self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias1|constructor#<self::ET_ContravariantAlias1|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_ContravariantAlias2|constructor#<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#::T%> /* = (() → self::ET_ContravariantAlias2|constructor#::T%) → void */ {
lowered final self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#::T%> /* = (() → self::ET_ContravariantAlias2|constructor#::T%) → void */ #this = f;
return #this;
}
static extension-type-member method ET_ContravariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%> /* = (() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void */
static extension-type-member method ET_ContravariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%>% /* = (() → self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%) → void */
return self::ET_ContravariantAlias2|constructor#<self::ET_ContravariantAlias2|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias1|constructor#<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#::T%> /* = () → () → self::ET_CovariantAlias1|constructor#::T% */ {
lowered final self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#::T%> /* = () → () → self::ET_CovariantAlias1|constructor#::T% */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%> /* = () → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% */
static extension-type-member method ET_CovariantAlias1|constructor#_#new#tearOff<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%>% /* = () → () → self::ET_CovariantAlias1|constructor#_#new#tearOff::T% */
return self::ET_CovariantAlias1|constructor#<self::ET_CovariantAlias1|constructor#_#new#tearOff::T%>(f);
static extension-type-member method ET_CovariantAlias2|constructor#<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#::T%> /* = ((self::ET_CovariantAlias2|constructor#::T%) → void) → void */ {
lowered final self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#::T%> /* = ((self::ET_CovariantAlias2|constructor#::T%) → void) → void */ #this = f;
return #this;
}
static extension-type-member method ET_CovariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%> /* = ((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void */
static extension-type-member method ET_CovariantAlias2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%>% /* = ((self::ET_CovariantAlias2|constructor#_#new#tearOff::T%) → void) → void */
return self::ET_CovariantAlias2|constructor#<self::ET_CovariantAlias2|constructor#_#new#tearOff::T%>(f);

Some files were not shown because too many files have changed in this diff Show more