blob: 2907bc73357b4f394593b6841f6ee8dcd8527f6d [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
// // @dart=2.5
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:18:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
// int method6b(int a, [int b]) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
// int method6c([int a, int b]) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
// int method6c([int a, int b]) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:24:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
// int method8b({int a, int b: 0}) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:26:29: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
// int method10a(int a, {int b}) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:22: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
// int method10b({int a, int b}) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:29: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
// int method10b({int a, int b}) => 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:16:20: Error: The parameter 'a' of the method 'LegacyClass.method6a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6a'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method6a(int a, int b) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:20:8: Context: This is the overridden method ('method6a').
// int? method6a(int? a, int b);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:18:20: Error: The parameter 'a' of the method 'LegacyClass.method6b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6b'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method6b(int a, [int b]) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:22:8: Context: This is the overridden method ('method6b').
// int? method6b(int? a, [int b = 0]);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:21: Error: The parameter 'a' of the method 'LegacyClass.method6c' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6c'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method6c([int a, int b]) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:24:8: Context: This is the overridden method ('method6c').
// int? method6c([int? a, int b = 0]);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:22:20: Error: The parameter 'a' of the method 'LegacyClass.method8a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method8a'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method8a(int a, {int b: 0}) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:30:8: Context: This is the overridden method ('method8a').
// int? method8a(int? a, {int b: 0});
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:24:21: Error: The parameter 'a' of the method 'LegacyClass.method8b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method8b'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method8b({int a, int b: 0}) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:32:8: Context: This is the overridden method ('method8b').
// int? method8b({int? a, int b: 0});
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:26:21: Error: The parameter 'a' of the method 'LegacyClass.method10a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method10a'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method10a(int a, {int b}) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:38:8: Context: This is the overridden method ('method10a').
// int? method10a(int? a, {required int b});
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:22: Error: The parameter 'a' of the method 'LegacyClass.method10b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method10b'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// int method10b({int a, int b}) => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:40:8: Context: This is the overridden method ('method10b').
// int? method10b({required int? a, required int b});
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:40:7: Error: The field 'LegacyClass.field4' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field4'.
// int field4;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:64:8: Context: This is the overridden method ('field4').
// int? field4;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:48:26: Error: The parameter 'value' of the method 'LegacyClass.property4' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property4'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// void set property4(int value) {}
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:80:12: Context: This is the overridden method ('property4').
// void set property4(int? value);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:52:7: Error: The field 'LegacyClass.property8' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.property8'.
// int property8;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:96:12: Context: This is the overridden method ('property8').
// void set property8(int? value);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:36:24: Error: The parameter 'value' of the method 'LegacyClass.setter4' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.setter4'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// void set setter4(int value) {}
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:56:12: Context: This is the overridden method ('setter4').
// void set setter4(int? value);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'method2' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:102:8: Context: The return type of the method 'Class.method2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.method2'.
// Change to a subtype of 'int'.
// int? method2() => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:8:7: Context: This is the overridden method ('method2').
// int method2();
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'getter2' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:120:12: Context: The return type of the method 'Class.getter2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.getter2'.
// Change to a subtype of 'int'.
// int? get getter2 => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:44:11: Context: This is the overridden method ('getter2').
// int get getter2;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'field1' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:126:7: Context: The field 'Class.field1' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field1'.
// int field1 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:58:8: Context: This is the overridden method ('field1').
// int? field1;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'field2' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:128:8: Context: The return type of the method 'Class.field2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.field2'.
// Change to a subtype of 'int'.
// int? field2;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:60:7: Context: This is the overridden method ('field2').
// int field2 = 0;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property1' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:132:26: Context: The parameter 'value' of the method 'Class.property1' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property1'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// void set property1(int value) {}
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:68:12: Context: This is the overridden method ('property1').
// void set property1(int? value);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property2' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:134:12: Context: The return type of the method 'Class.property2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.property2'.
// Change to a subtype of 'int'.
// int? get property2 => 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:70:11: Context: This is the overridden method ('property2').
// int get property2;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property5' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:138:7: Context: The field 'Class.property5' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.property5'.
// int property5 = 0;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:84:12: Context: This is the overridden method ('property5').
// void set property5(int? value);
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property6' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:140:8: Context: The return type of the method 'Class.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.property6'.
// Change to a subtype of 'int'.
// int? property6;
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:86:11: Context: This is the overridden method ('property6').
// int get property6;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'setter1' in the non-abstract class 'LegacyClass' does not conform to its interface.
// class LegacyClass extends Class implements Interface {
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:122:24: Context: The parameter 'value' of the method 'Class.setter1' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.setter1'.
// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
// void set setter1(int value) {}
// ^
// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:50:12: Context: This is the overridden method ('setter1').
// void set setter1(int? value);
// ^
//
import self as self;
import "member_inheritance_from_opt_in_lib.dart" as mem;
import "dart:core" as core;
import "org-dartlang-testcase:///member_inheritance_from_opt_in_lib.dart";
class LegacyClass extends mem::Class implements mem::Interface {
field core::int field3;
field core::int field4;
field core::int property7;
field core::int property8;
synthetic constructor •() self::LegacyClass
;
method method3() core::int
;
method method4() core::int
;
method method6a(core::int a, core::int b) core::int
;
method method6b(core::int a, [core::int b]) core::int
;
method method6c([core::int a, core::int b]) core::int
;
method method8a(core::int a, {core::int b = 0}) core::int
;
method method8b({core::int a, core::int b = 0}) core::int
;
method method10a(core::int a, {core::int b}) core::int
;
method method10b({core::int a, core::int b}) core::int
;
get getter3() core::int
;
get getter4() core::int
;
set setter3(core::int value) void
;
set setter4(core::int value) void
;
get property3() core::int
;
set property3(core::int value) void
;
get property4() core::int
;
set property4(core::int value) void
;
abstract forwarding-stub method method2() core::int;
abstract forwarding-stub get getter2() core::int;
abstract forwarding-stub set field1(core::int? _) void;
abstract forwarding-stub get field2() core::int;
abstract forwarding-stub set property1(core::int? value) void;
abstract forwarding-stub get property2() core::int;
abstract forwarding-stub set property5(core::int? value) void;
abstract forwarding-stub get property6() core::int;
abstract forwarding-stub set setter1(core::int? value) void;
}
static method main() dynamic
;
library /*isNonNullableByDefault*/;
import self as mem;
import "dart:core" as core;
abstract class Interface extends core::Object {
field core::int? field1;
field core::int field2;
field core::int field3;
field core::int? field4;
synthetic constructor •() mem::Interface
;
abstract method method1() core::int?;
abstract method method2() core::int;
abstract method method3() core::int;
abstract method method4() core::int?;
abstract method method5a(core::int a, core::int? b) core::int;
abstract method method5b(core::int a, [core::int? b]) core::int;
abstract method method5c([core::int a = 0, core::int? b]) core::int;
abstract method method6a(core::int? a, core::int b) core::int?;
abstract method method6b(core::int? a, [core::int b = 0]) core::int?;
abstract method method6c([core::int? a, core::int b = 0]) core::int?;
abstract method method7a(core::int a, {core::int? b}) core::int;
abstract method method7b({core::int a = 0, core::int? b}) core::int;
abstract method method8a(core::int? a, {core::int b = 0}) core::int?;
abstract method method8b({core::int? a, core::int b = 0}) core::int?;
abstract method method9a(core::int a, {required core::int? b}) core::int;
abstract method method9b({required core::int a, required core::int? b}) core::int;
abstract method method10a(core::int? a, {required core::int b}) core::int?;
abstract method method10b({required core::int? a, required core::int b}) core::int?;
abstract get getter1() core::int?;
abstract get getter2() core::int;
abstract get getter3() core::int;
abstract get getter4() core::int?;
abstract set setter1(core::int? value) void;
abstract set setter2(core::int value) void;
abstract set setter3(core::int value) void;
abstract set setter4(core::int? value) void;
abstract get property1() core::int?;
abstract set property1(core::int? value) void;
abstract get property2() core::int;
abstract set property2(core::int value) void;
abstract get property3() core::int;
abstract set property3(core::int value) void;
abstract get property4() core::int?;
abstract set property4(core::int? value) void;
abstract get property5() core::int?;
abstract set property5(core::int? value) void;
abstract get property6() core::int;
abstract set property6(core::int value) void;
abstract get property7() core::int;
abstract set property7(core::int value) void;
abstract get property8() core::int?;
abstract set property8(core::int? value) void;
}
class Class extends core::Object {
field core::int field1;
field core::int? field2;
field core::int property5;
field core::int? property6;
synthetic constructor •() mem::Class
;
method method1() core::int
;
method method2() core::int?
;
method method5a(core::int a, core::int? b) core::int
;
method method5b(core::int a, [core::int? b]) core::int
;
method method5c([core::int a = 0, core::int? b]) core::int
;
method method7a(core::int a, {core::int? b}) core::int
;
method method7b({core::int a = 0, core::int? b}) core::int
;
method method9a(core::int a, {required core::int? b}) core::int
;
method method9b({required core::int a, required core::int? b}) core::int
;
get getter1() core::int
;
get getter2() core::int?
;
set setter1(core::int value) void
;
set setter2(core::int? value) void
;
get property1() core::int
;
set property1(core::int value) void
;
get property2() core::int?
;
set property2(core::int? value) void
;
}