| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:16: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_accessors.dart:6:9: Context: This is one of the overridden members. |
| // A get x; |
| // ^ |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:7:12: Context: This is one of the overridden members. |
| // void set x(B value); |
| // ^ |
| // |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as the overridden members don't have a combined signature. |
| // Try adding an explicit type. |
| // var y; |
| // ^ |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:9:9: Context: This is one of the overridden members. |
| // B get y; |
| // ^ |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:10:12: Context: This is one of the overridden members. |
| // void set y(A value); |
| // ^ |
| // |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:6:9: Error: The type 'A' of the getter 'A.x' is not a subtype of the type 'B' of the setter 'A.x'. |
| // - 'A' is from 'pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart'. |
| // - 'B' is from 'pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart'. |
| // A get x; |
| // ^ |
| // pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:7:12: Context: This is the declaration of the setter 'A.x'. |
| // void set x(B 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() → self::A; |
| abstract set x(self::B value) → void; |
| abstract get y() → self::B; |
| abstract set y(self::A value) → void; |
| } |
| abstract class B extends self::A { |
| synthetic constructor •() → self::B |
| : super self::A::•() |
| ; |
| } |
| class C extends self::B { |
| field invalid-type x = null; |
| field invalid-type y = null; |
| synthetic constructor •() → self::C |
| : super self::B::•() |
| ; |
| } |
| static method main() → dynamic {} |