blob: beb5b6c29d5594e456a3a36b0347358d2d39e63f [file] [log] [blame]
bool b = true;
abstract class Map<K, V> {
V operator [](K index);
void operator []=(K index, V value);
}
extension Extension on int {
Class operator [](Class cls) => new Class();
void operator []=(Class cls, Class value) {}
}
class Class {
Class operator [](Class cls) => new Class();
void operator []=(Class cls, Class value) {}
Class operator +(Class cls) => cls;
void indexGetSetForEffect(Map<Class, Class> map) {}
void indexGetSetForValue(Map<Class, Class> map) {}
void implicitExtensionGetSetForEffect(int i) {}
void implicitExtensionGetSetForValue(int i) {}
void explicitExtensionGetSetForEffect(int i) {}
void explicitExtensionGetSetForValue(int i) {}
}
class Subclass extends Class {
void superIndexGetSetForEffect() {}
void superIndexGetSetForValue() {}
}
extension Extension2 on Class2 {
Class2 operator [](Class2 cls) => new Class2();
void operator []=(Class2 cls, Class2 value) {}
}
class Class2 {
Class2 operator +(Class2 cls) => cls;
void implicitExtensionGetSetForEffect() {}
void implicitExtensionGetSetForValue() {}
void explicitExtensionGetSetForEffect() {}
void explicitExtensionGetSetForValue() {}
}
main() {}