library;
//
// Problems in library:
//
// pkg/front_end/testcases/extensions/issue38713.dart:7:19: Error: Conflicts with the implicit setter of the field 'property2'.
//   static void set property2(int? x) {}
//                   ^^^^^^^^^
// pkg/front_end/testcases/extensions/issue38713.dart:6:15: Context: Field 'property2' with the implicit setter.
//   static int? property2;
//               ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38713.dart:10:12: Error: Instance property 'property3' conflicts with static property of the same name.
//   int? get property3 => 1;
//            ^^^^^^^^^
// pkg/front_end/testcases/extensions/issue38713.dart:9:19: Context: Conflicting static property 'property3'.
//   static void set property3(int? x) {}
//                   ^^^^^^^^^
//
// pkg/front_end/testcases/extensions/issue38713.dart:17:6: Error: The getter 'property3' isn't defined for the type 'int'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'property3'.
//   42.property3;
//      ^^^^^^^^^
//
import self as self;
import "dart:core" as core;

extension C on core::int {
  static field property2 = self::C|property2;
  static set property3 = set self::C|property3;
}
static field core::int? C|property2 = null;
static extension-member set C|property3(core::int? x) → void {}
static method test() → void {
  invalid-expression "pkg/front_end/testcases/extensions/issue38713.dart:14:5: Error: Can't use 'property2' because it is declared more than once.
  C.property2;
    ^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/extensions/issue38713.dart:15:5: Error: Can't use 'property2' because it is declared more than once.
  C.property2 = 42;
    ^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/extensions/issue38713.dart:16:5: Error: Can't use 'property3' because it is declared more than once.
  C.property3 = 42;
    ^^^^^^^^^";
  invalid-expression "pkg/front_end/testcases/extensions/issue38713.dart:17:6: Error: The getter 'property3' isn't defined for the type 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'property3'.
  42.property3;
     ^^^^^^^^^" in 42{<unresolved>}.property3;
}
