blob: 5a2032c26442144a61584d0a4332041bc21bb7ad [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The return type of the method 'Class.field2' is 'String', which does not match the return type, 'num', of the overridden method, 'Super.field2'.
// Change to a subtype of 'num'.
// abstract String field2;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:7:7: Context: This is the overridden method ('field2').
// num field2 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The return type of the method 'Class.field2' is 'String', which does not match the return type, 'int', of the overridden method, 'Interface.field2'.
// Change to a subtype of 'int'.
// abstract String field2;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:16:17: Context: This is the overridden method ('field2').
// covariant int field2 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The parameter '#externalFieldValue' of the method 'Class.field2' has type 'String', which does not match the corresponding type, 'num', in the overridden method, 'Super.field2'.
// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
// abstract String field2;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:7:7: Context: This is the overridden method ('field2').
// num field2 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The parameter '#externalFieldValue' of the method 'Class.field2' has type 'String', which does not match the corresponding type, 'int', in the overridden method, 'Interface.field2'.
// Change to a supertype of 'int', or, for a covariant parameter, a subtype.
// abstract String field2;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:16:17: Context: This is the overridden method ('field2').
// covariant int field2 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:25:16: Error: The parameter '#externalFieldValue' of the method 'Class.field3' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.field3'.
// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
// abstract int field3;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:8:7: Context: This is the overridden method ('field3').
// num field3 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:28:16: Error: The return type of the method 'Class.field5' is 'num', which does not match the return type, 'int', of the overridden method, 'Super.field5'.
// Change to a subtype of 'int'.
// abstract num field5;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:11:17: Context: This is the overridden method ('field5').
// covariant int field5 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:28:16: Error: The return type of the method 'Class.field5' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface.field5'.
// Change to a subtype of 'int'.
// abstract num field5;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:19:7: Context: This is the overridden method ('field5').
// int field5 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field1' 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_field.dart:6:7: Context: The return type of the method 'Super.field1' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field1'.
// Change to a subtype of 'int'.
// num field1 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:23:16: Context: This is the overridden method ('field1').
// abstract int field1;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field2' 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_field.dart:7:7: Context: The return type of the method 'Super.field2' is 'num', which does not match the return type, 'String', of the overridden method, 'Class.field2'.
// Change to a subtype of 'String'.
// num field2 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Context: This is the overridden method ('field2').
// abstract String field2;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field3' 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_field.dart:8:7: Context: The return type of the method 'Super.field3' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field3'.
// Change to a subtype of 'int'.
// num field3 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:25:16: Context: This is the overridden method ('field3').
// abstract int field3;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field4' 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_field.dart:10:17: Context: The return type of the method 'Super.field4' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field4'.
// Change to a subtype of 'int'.
// covariant num field4 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:27:16: Context: This is the overridden method ('field4').
// abstract int field4;
// ^
//
import self as self;
import "dart:core" as core;
class Super extends core::Object {
field core::num field1 = 0;
field core::num field2 = 0;
field core::num field3 = 0;
covariant-by-declaration field core::num field4 = 0;
covariant-by-declaration field core::int field5 = 0;
synthetic constructor •() self::Super
: super core::Object::•()
;
}
class Interface extends core::Object {
covariant-by-declaration field core::int field1 = 0;
covariant-by-declaration field core::int field2 = 0;
field core::int field4 = 0;
field core::int field5 = 0;
synthetic constructor •() self::Interface
: super core::Object::•()
;
}
class Class extends self::Super implements self::Interface {
synthetic constructor •() self::Class
: super self::Super::•()
;
abstract get field1() core::int;
forwarding-stub forwarding-semi-stub set /* signature-type: (core::int) → void */ field1(covariant-by-declaration core::num #externalFieldValue) → void
return super.{self::Super::field1} = #externalFieldValue;
abstract get field2() core::String;
forwarding-stub forwarding-semi-stub set /* signature-type: (core::String) → void */ field2(covariant-by-declaration core::num #externalFieldValue) → void
return super.{self::Super::field2} = #externalFieldValue;
abstract get field3() core::int;
abstract set field3(core::int #externalFieldValue) → void;
abstract get field4() core::int;
abstract set field4(covariant-by-declaration core::int #externalFieldValue) → void;
abstract get field5() core::num;
abstract set field5(covariant-by-declaration core::num #externalFieldValue) → void;
}
static method main() dynamic {}