blob: e47ee555d4a214fe8d66f6beedaf472734b9f18e [file] [log] [blame]
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);