blob: bd09771ccc9ab3088284970347d4a6a58824f11a [file] [log] [blame]
extension type ET1(int i) {
ET1? operator +(ET1? i) => i;
int operator -() => i;
int operator [](int index) => i;
void operator []=(int index, int value) {}
void foo(int i) {}
int get getter => i;
void set setter(int value) {}
}
extension type ET2<T>(T t) {
ET2<T>? operator +(ET2<T>? t) => t;
T operator -() => t;
T operator [](int index) => t;
void operator []=(int index, T value) {}
void foo(T t) {}
T get getter => t;
void set setter(T value) {}
}
method1(ET1 et) {}
method2(ET1? et) {}
method3<S>(S s, ET2<S> et) {}
method4<S>(S s, ET2<S>? et) {}
method5<S, U extends ET2<S>>(S s, U et) {}
method6<S, U extends ET2<S>>(S s, U? et) {}
method7<S, U extends ET2<S>, V extends U>(S s, V et) {}
method8<S, U extends ET2<S>, V extends U>(S s, V? et) {}
method9<S, U extends ET2<S>, V extends U?>(S s, V et) {}
method10<S, U extends ET2<S>?, V extends U>(S s, V et) {}