| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:27: Error: The parameter 'i' of the method 'Class.setter2' has type 'String', which does not match the corresponding type, 'num', in the overridden method, 'Super.setter2'. |
| // Change to a supertype of 'num', or, for a covariant parameter, a subtype. |
| // void set setter2(String i); |
| // ^ |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:7:12: Context: This is the overridden method ('setter2'). |
| // void set setter2(num n) {} |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:27: Error: The parameter 'i' of the method 'Class.setter2' has type 'String', which does not match the corresponding type, 'int', in the overridden method, 'Interface.setter2'. |
| // Change to a supertype of 'int', or, for a covariant parameter, a subtype. |
| // void set setter2(String i); |
| // ^ |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:16:12: Context: This is the overridden method ('setter2'). |
| // void set setter2(covariant int i) {} |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:25:24: Error: The parameter 'i' of the method 'Class.setter3' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.setter3'. |
| // Change to a supertype of 'num', or, for a covariant parameter, a subtype. |
| // void set setter3(int i); |
| // ^ |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:8:12: Context: This is the overridden method ('setter3'). |
| // void set setter3(num n) {} |
| // ^ |
| // |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:22:7: Error: The implementation of 'setter2' in the non-abstract class 'Class' does not conform to its interface. |
| // class Class extends Super implements Interface { |
| // ^^^^^ |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:7:24: Context: The parameter 'n' of the method 'Super.setter2' has type 'num', which does not match the corresponding type, 'String', in the overridden method, 'Class.setter2'. |
| // Change to a supertype of 'String', or, for a covariant parameter, a subtype. |
| // void set setter2(num n) {} |
| // ^ |
| // pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:12: Context: This is the overridden method ('setter2'). |
| // void set setter2(String i); |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class Super extends core::Object { |
| synthetic constructor •() → self::Super |
| ; |
| set setter1(core::num n) → void |
| ; |
| set setter2(core::num n) → void |
| ; |
| set setter3(core::num n) → void |
| ; |
| set setter4(covariant core::num i) → void |
| ; |
| set setter5(covariant core::int i) → void |
| ; |
| } |
| class Interface extends core::Object { |
| synthetic constructor •() → self::Interface |
| ; |
| set setter1(covariant core::int i) → void |
| ; |
| set setter2(covariant core::int i) → void |
| ; |
| set setter4(core::int i) → void |
| ; |
| set setter5(core::int i) → void |
| ; |
| } |
| class Class extends self::Super implements self::Interface { |
| synthetic constructor •() → self::Class |
| ; |
| forwarding-stub forwarding-semi-stub set setter1(covariant core::int i) → void |
| return super.{self::Super::setter1} = i; |
| forwarding-stub forwarding-semi-stub set setter2(covariant core::String i) → void |
| return super.{self::Super::setter2} = i; |
| abstract set setter3(core::int i) → void; |
| abstract set setter4(covariant core::int i) → void; |
| abstract set setter5(covariant core::num n) → void; |
| } |
| static method main() → dynamic |
| ; |