class ClassWithIndexGet {
  int? operator [](int index) => 42;
}

class ClassWithIndexSet {
  operator []=(int index, int value) {}
}

class ClassWithProperty {
  EmptyClass property = new EmptyClass();
}

class EmptyClass {}

main() {}
var classWithIndexGet = new ClassWithIndexGet();
var classWithIndexSet = new ClassWithIndexSet();
var classWithProperty = new ClassWithProperty();
var emptyClass = new EmptyClass();
var missingBinary = classWithProperty.property += 2;
var missingIndexGet = classWithIndexSet[0] ??= 2;
var missingIndexSet = classWithIndexGet[0] ??= 2;
var missingPropertyGet = emptyClass.property;
var missingPropertySet = emptyClass.property = 42;
