| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:10:41: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_Contravariant<T>(void Function(T) f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:12:37: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_Invariant<T>(void Function<S extends T>() f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:16:34: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_Bivariant<T>(T Function(T) f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:18:41: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_ContravariantAlias<T>(Contravariant<T> f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:20:37: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_InvariantAlias<T>(Invariant<T> f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:24:37: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // extension type ET_BivariantAlias<T>(Bivariant<T> f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:27:23: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // (Contravariant<T> Function() f) /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/inline_class/extension_types/non_covariant_type_parameter.dart:30:11: Error: An extension type parameter can't be used non-covariantly in its representation type. |
| // Try removing the type parameters from function parameter types and type parameter bounds. |
| // (void Function(Covariant<T>) f) /* Error */ {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef Contravariant<contravariant T extends core::Object? = dynamic> = (T%) → void; |
| typedef Invariant<invariant T extends core::Object? = dynamic> = <S extends T% = dynamic>() → void; |
| typedef Covariant<T extends core::Object? = dynamic> = () → T%; |
| typedef Bivariant<invariant T extends core::Object? = dynamic> = (T%) → T%; |
| extension type ET_Contravariant<T extends core::Object? = dynamic>((T%) → void f) { |
| constructor • = self::ET_Contravariant|; |
| tearoff • = self::ET_Contravariant|_#new#tearOff; |
| } |
| extension type ET_Invariant<T extends core::Object? = dynamic>(<S extends T% = dynamic>() → void f) { |
| constructor • = self::ET_Invariant|; |
| tearoff • = self::ET_Invariant|_#new#tearOff; |
| } |
| extension type ET_Covariant<T extends core::Object? = dynamic>(() → T% f) { |
| constructor • = self::ET_Covariant|; |
| tearoff • = self::ET_Covariant|_#new#tearOff; |
| } |
| extension type ET_Bivariant<T extends core::Object? = dynamic>((T%) → T% f) { |
| constructor • = self::ET_Bivariant|; |
| tearoff • = self::ET_Bivariant|_#new#tearOff; |
| } |
| extension type ET_ContravariantAlias<T extends core::Object? = dynamic>((T%) → void f) { |
| constructor • = self::ET_ContravariantAlias|; |
| tearoff • = self::ET_ContravariantAlias|_#new#tearOff; |
| } |
| extension type ET_InvariantAlias<T extends core::Object? = dynamic>(<S extends T% = dynamic>() → void f) { |
| constructor • = self::ET_InvariantAlias|; |
| tearoff • = self::ET_InvariantAlias|_#new#tearOff; |
| } |
| extension type ET_CovariantAlias<T extends core::Object? = dynamic>(() → T% f) { |
| constructor • = self::ET_CovariantAlias|; |
| tearoff • = self::ET_CovariantAlias|_#new#tearOff; |
| } |
| extension type ET_BivariantAlias<T extends core::Object? = dynamic>((T%) → T% f) { |
| constructor • = self::ET_BivariantAlias|; |
| tearoff • = self::ET_BivariantAlias|_#new#tearOff; |
| } |
| extension type ET_ContravariantAlias1<T extends core::Object? = dynamic>(() → (T%) → void f) { |
| constructor • = self::ET_ContravariantAlias1|; |
| tearoff • = self::ET_ContravariantAlias1|_#new#tearOff; |
| } |
| extension type ET_ContravariantAlias2<T extends core::Object? = dynamic>((() → T%) → void f) { |
| constructor • = self::ET_ContravariantAlias2|; |
| tearoff • = self::ET_ContravariantAlias2|_#new#tearOff; |
| } |
| extension type ET_CovariantAlias1<T extends core::Object? = dynamic>(() → () → T% f) { |
| constructor • = self::ET_CovariantAlias1|; |
| tearoff • = self::ET_CovariantAlias1|_#new#tearOff; |
| } |
| extension type ET_CovariantAlias2<T extends core::Object? = dynamic>(((T%) → void) → void f) { |
| constructor • = self::ET_CovariantAlias2|; |
| tearoff • = self::ET_CovariantAlias2|_#new#tearOff; |
| } |
| static inline-class-member method ET_Contravariant|<T extends core::Object? = dynamic>((self::ET_Contravariant|::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|::T%> /* = (self::ET_Contravariant|::T%) → void */ { |
| lowered final self::ET_Contravariant<self::ET_Contravariant|::T%> /* = (self::ET_Contravariant|::T%) → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_Contravariant|_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Contravariant|_#new#tearOff::T%) → void f) → self::ET_Contravariant<self::ET_Contravariant|_#new#tearOff::T%> /* = (self::ET_Contravariant|_#new#tearOff::T%) → void */ |
| return self::ET_Contravariant|<self::ET_Contravariant|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_Invariant|<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|::T%> /* = <S extends self::ET_Invariant|::T% = dynamic>() → void */ { |
| lowered final self::ET_Invariant<self::ET_Invariant|::T%> /* = <S extends self::ET_Invariant|::T% = dynamic>() → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_Invariant|_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_Invariant|_#new#tearOff::T% = dynamic>() → void f) → self::ET_Invariant<self::ET_Invariant|_#new#tearOff::T%> /* = <S extends self::ET_Invariant|_#new#tearOff::T% = dynamic>() → void */ |
| return self::ET_Invariant|<self::ET_Invariant|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_Covariant|<T extends core::Object? = dynamic>(() → self::ET_Covariant|::T% f) → self::ET_Covariant<self::ET_Covariant|::T%> /* = () → self::ET_Covariant|::T% */ { |
| lowered final self::ET_Covariant<self::ET_Covariant|::T%> /* = () → self::ET_Covariant|::T% */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_Covariant|_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_Covariant|_#new#tearOff::T% f) → self::ET_Covariant<self::ET_Covariant|_#new#tearOff::T%> /* = () → self::ET_Covariant|_#new#tearOff::T% */ |
| return self::ET_Covariant|<self::ET_Covariant|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_Bivariant|<T extends core::Object? = dynamic>((self::ET_Bivariant|::T%) → self::ET_Bivariant|::T% f) → self::ET_Bivariant<self::ET_Bivariant|::T%> /* = (self::ET_Bivariant|::T%) → self::ET_Bivariant|::T% */ { |
| lowered final self::ET_Bivariant<self::ET_Bivariant|::T%> /* = (self::ET_Bivariant|::T%) → self::ET_Bivariant|::T% */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_Bivariant|_#new#tearOff<T extends core::Object? = dynamic>((self::ET_Bivariant|_#new#tearOff::T%) → self::ET_Bivariant|_#new#tearOff::T% f) → self::ET_Bivariant<self::ET_Bivariant|_#new#tearOff::T%> /* = (self::ET_Bivariant|_#new#tearOff::T%) → self::ET_Bivariant|_#new#tearOff::T% */ |
| return self::ET_Bivariant|<self::ET_Bivariant|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_ContravariantAlias|<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|::T%> /* = (self::ET_ContravariantAlias|::T%) → void */ { |
| lowered final self::ET_ContravariantAlias<self::ET_ContravariantAlias|::T%> /* = (self::ET_ContravariantAlias|::T%) → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_ContravariantAlias|_#new#tearOff<T extends core::Object? = dynamic>((self::ET_ContravariantAlias|_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias<self::ET_ContravariantAlias|_#new#tearOff::T%> /* = (self::ET_ContravariantAlias|_#new#tearOff::T%) → void */ |
| return self::ET_ContravariantAlias|<self::ET_ContravariantAlias|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_InvariantAlias|<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|::T%> /* = <S extends self::ET_InvariantAlias|::T% = dynamic>() → void */ { |
| lowered final self::ET_InvariantAlias<self::ET_InvariantAlias|::T%> /* = <S extends self::ET_InvariantAlias|::T% = dynamic>() → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_InvariantAlias|_#new#tearOff<T extends core::Object? = dynamic>(<S extends self::ET_InvariantAlias|_#new#tearOff::T% = dynamic>() → void f) → self::ET_InvariantAlias<self::ET_InvariantAlias|_#new#tearOff::T%> /* = <S extends self::ET_InvariantAlias|_#new#tearOff::T% = dynamic>() → void */ |
| return self::ET_InvariantAlias|<self::ET_InvariantAlias|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_CovariantAlias|<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|::T%> /* = () → self::ET_CovariantAlias|::T% */ { |
| lowered final self::ET_CovariantAlias<self::ET_CovariantAlias|::T%> /* = () → self::ET_CovariantAlias|::T% */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_CovariantAlias|_#new#tearOff<T extends core::Object? = dynamic>(() → self::ET_CovariantAlias|_#new#tearOff::T% f) → self::ET_CovariantAlias<self::ET_CovariantAlias|_#new#tearOff::T%> /* = () → self::ET_CovariantAlias|_#new#tearOff::T% */ |
| return self::ET_CovariantAlias|<self::ET_CovariantAlias|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_BivariantAlias|<T extends core::Object? = dynamic>((self::ET_BivariantAlias|::T%) → self::ET_BivariantAlias|::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|::T%> /* = (self::ET_BivariantAlias|::T%) → self::ET_BivariantAlias|::T% */ { |
| lowered final self::ET_BivariantAlias<self::ET_BivariantAlias|::T%> /* = (self::ET_BivariantAlias|::T%) → self::ET_BivariantAlias|::T% */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_BivariantAlias|_#new#tearOff<T extends core::Object? = dynamic>((self::ET_BivariantAlias|_#new#tearOff::T%) → self::ET_BivariantAlias|_#new#tearOff::T% f) → self::ET_BivariantAlias<self::ET_BivariantAlias|_#new#tearOff::T%> /* = (self::ET_BivariantAlias|_#new#tearOff::T%) → self::ET_BivariantAlias|_#new#tearOff::T% */ |
| return self::ET_BivariantAlias|<self::ET_BivariantAlias|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_ContravariantAlias1|<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|::T%> /* = () → (self::ET_ContravariantAlias1|::T%) → void */ { |
| lowered final self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|::T%> /* = () → (self::ET_ContravariantAlias1|::T%) → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_ContravariantAlias1|_#new#tearOff<T extends core::Object? = dynamic>(() → (self::ET_ContravariantAlias1|_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias1<self::ET_ContravariantAlias1|_#new#tearOff::T%> /* = () → (self::ET_ContravariantAlias1|_#new#tearOff::T%) → void */ |
| return self::ET_ContravariantAlias1|<self::ET_ContravariantAlias1|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_ContravariantAlias2|<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|::T%> /* = (() → self::ET_ContravariantAlias2|::T%) → void */ { |
| lowered final self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|::T%> /* = (() → self::ET_ContravariantAlias2|::T%) → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_ContravariantAlias2|_#new#tearOff<T extends core::Object? = dynamic>((() → self::ET_ContravariantAlias2|_#new#tearOff::T%) → void f) → self::ET_ContravariantAlias2<self::ET_ContravariantAlias2|_#new#tearOff::T%> /* = (() → self::ET_ContravariantAlias2|_#new#tearOff::T%) → void */ |
| return self::ET_ContravariantAlias2|<self::ET_ContravariantAlias2|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_CovariantAlias1|<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|::T%> /* = () → () → self::ET_CovariantAlias1|::T% */ { |
| lowered final self::ET_CovariantAlias1<self::ET_CovariantAlias1|::T%> /* = () → () → self::ET_CovariantAlias1|::T% */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_CovariantAlias1|_#new#tearOff<T extends core::Object? = dynamic>(() → () → self::ET_CovariantAlias1|_#new#tearOff::T% f) → self::ET_CovariantAlias1<self::ET_CovariantAlias1|_#new#tearOff::T%> /* = () → () → self::ET_CovariantAlias1|_#new#tearOff::T% */ |
| return self::ET_CovariantAlias1|<self::ET_CovariantAlias1|_#new#tearOff::T%>(f); |
| static inline-class-member method ET_CovariantAlias2|<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|::T%> /* = ((self::ET_CovariantAlias2|::T%) → void) → void */ { |
| lowered final self::ET_CovariantAlias2<self::ET_CovariantAlias2|::T%> /* = ((self::ET_CovariantAlias2|::T%) → void) → void */ #this = f; |
| return #this; |
| } |
| static inline-class-member method ET_CovariantAlias2|_#new#tearOff<T extends core::Object? = dynamic>(((self::ET_CovariantAlias2|_#new#tearOff::T%) → void) → void f) → self::ET_CovariantAlias2<self::ET_CovariantAlias2|_#new#tearOff::T%> /* = ((self::ET_CovariantAlias2|_#new#tearOff::T%) → void) → void */ |
| return self::ET_CovariantAlias2|<self::ET_CovariantAlias2|_#new#tearOff::T%>(f); |