blob: 8860e7d45d52dcc0c25767157ed3c2a9082cd3ca [file] [log] [blame]
library test;
abstract class Base<T, U> {
T getValue(String s);
T operator [](String s) => getValue(s);
void operator []=(String s, U v) => setValue(s, v);
void setValue(String s, U v);
}
abstract class Test1 extends Base<int, int> {
void test() {}
}
abstract class Test2 extends Base<int, num> {
void test() {}
}
abstract class Test3 extends Base<int, double> {
void test() {}
}
abstract class Test4 extends Base<num, int> {
void test() {}
}
abstract class Test5 extends Base<num, num> {
void test() {}
}
abstract class Test6 extends Base<num, double> {
void test() {}
}
abstract class Test7 extends Base<double, int> {
void test() {}
}
abstract class Test8 extends Base<double, num> {
void test() {}
}
abstract class Test9 extends Base<double, double> {
void test() {}
}
double getDouble() => 0.0;
int getInt() => 0;
main() {}
num getNum() => 0;