blob: 526b06a2e473beaa953057f7e4bee13e3c524244 [file] [log] [blame]
class Super<T> {
void method1(num a) {}
void method2(int b) {}
void method3(num a, int b) {}
void method4({required num a}) {}
void method5({required int b}) {}
void method7(Iterable<T> a) {}
void method8(List<T> b) {}
void method9(Iterable<T> a, List<T> b) {}
void method10({required Iterable<T> a}) {}
void method11({required List<T> b}) {}
void set setter1(num a) {}
void set setter3(Iterable<T> a) {}
}
abstract class Interface<T> {
void method2(covariant num b) {}
void method3(num a, covariant num b) {}
void method5({required int b}) {}
void method8(covariant Iterable<T> b) {}
void method9(Iterable<T> a, covariant Iterable<T> b) {}
void method11({required List<T> b}) {}
}
class Class<T> extends Super<T> implements Interface<T> {
void method1(covariant int a);
void method2(num b);
void method3(covariant int a, num b);
void method7(covariant List<T> a);
void method8(Iterable<T> b);
void method9(covariant List<T> a, Iterable<T> b);
void set setter1(covariant int a);
void set setter3(covariant List<T> a);
}
class Class1<T> implements Class<T> {
void method1(double a) {}
void method2(double b) {}
void method3(double a, double b) {}
void method4({required double a}) {}
void method5({required double b}) {}
void method7(Set<T> a) {}
void method8(Set<T> b) {}
void method9(Set<T> a, Set<T> b) {}
void method10({required Set<T> a}) {}
void method11({required Set<T> b}) {}
void set setter1(double a) {}
void set setter3(Set<T> a) {}
}
abstract class Interface2<T> {
void method1(int a);
void method2(int b);
void method3(int a, int b);
void method7(List<T> a);
void method8(List<T> b);
void method9(List<T> a, List<T> b);
void set setter1(int a);
void set setter3(List<T> a);
}
abstract class Class2<T> implements Class<T>, Interface2<T> {}
main() {}