// @dart = 2.9
class Class {
  int field;
}

extension Extension on Class {
  int get property => field;
  void set property(int value) {}
  int method() => field;
}

main() {}
