library test /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart:19:7: Error: Can't infer a type for 'x' as the overridden members don't have a combined signature.
// Try adding an explicit type.
//   var x;
//       ^
// pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart:9:11: Context: This is one of the overridden members.
//   int get x;
//           ^
// pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart:13:12: Context: This is one of the overridden members.
//   void set x(num value);
//            ^
//
import self as self;
import "dart:core" as core;

abstract class A extends core::Object {
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
  abstract get x() → core::int;
}
abstract class B extends self::A {
  synthetic constructor •() → self::B
    : super self::A::•()
    ;
  abstract set x(core::num value) → void;
}
class C extends self::B {
  field invalid-type x = null;
  synthetic constructor •() → self::C
    : super self::B::•()
    ;
}
static method main() → dynamic {}
