library /*isNonNullableByDefault*/; // // Problems in library: // // pkg/front_end/testcases/nnbd/required.dart:29:8: Error: The parameter 'x' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. // Try adding either an explicit non-'null' default value or the 'required' modifier. // foo({x}) {} // ^ // // pkg/front_end/testcases/nnbd/required.dart:51:18: Error: Non-optional parameters can't have a default value. // Try removing the default value or making the parameter optional. // Function(int a = 42, [int b]) f2; // ^ // // pkg/front_end/testcases/nnbd/required.dart:52:17: Error: Non-optional parameters can't have a default value. // Try removing the default value or making the parameter optional. // void g2(int a = 42, [int b]) {} // ^ // // pkg/front_end/testcases/nnbd/required.dart:53:15: Error: Non-optional parameters can't have a default value. // Try removing the default value or making the parameter optional. // f2 = (int a = 42, [int b]) {}; // ^ // // pkg/front_end/testcases/nnbd/required.dart:48:15: Error: The parameter 'a' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. // Try adding either an explicit non-'null' default value or the 'required' modifier. // void g({int a, required int b = 42}) {} // ^ // // pkg/front_end/testcases/nnbd/required.dart:48:31: Error: Named parameter 'b' is required and can't have a default value. // void g({int a, required int b = 42}) {} // ^ // // pkg/front_end/testcases/nnbd/required.dart:49:13: Error: The parameter 'a' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. // Try adding either an explicit non-'null' default value or the 'required' modifier. // f = ({int a, required int b = 42}) {}; // ^ // // pkg/front_end/testcases/nnbd/required.dart:49:29: Error: Named parameter 'b' is required and can't have a default value. // f = ({int a, required int b = 42}) {}; // ^ // // pkg/front_end/testcases/nnbd/required.dart:52:28: Error: The parameter 'b' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. // Try adding either an explicit non-'null' default value or the 'required' modifier. // void g2(int a = 42, [int b]) {} // ^ // // pkg/front_end/testcases/nnbd/required.dart:53:26: Error: The parameter 'b' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'. // Try adding either an explicit non-'null' default value or the 'required' modifier. // f2 = (int a = 42, [int b]) {}; // ^ // import self as self; import "dart:core" as core; typedef Typedef1 = ({a: core::int, required b: core::int}) → dynamic; typedef Typedef2 = ({a: core::int, required b: core::int}) → dynamic; class Class extends core::Object { synthetic constructor •() → self::Class : super core::Object::•() ; method method({core::int a = #C1, required core::int b = #C2, required final core::int c = #C2, required covariant final core::int d = #C2}) → dynamic {} } abstract class A extends core::Object { synthetic constructor •() → self::A : super core::Object::•() ; abstract method foo({core::int x = #C2}) → dynamic; } class B extends self::A { synthetic constructor •() → self::B : super self::A::•() ; method foo({core::int x = #C2}) → dynamic {} } class C extends self::A { synthetic constructor •() → self::C : super self::A::•() ; method foo({core::int x = #C1}) → dynamic {} } static field ({a: core::int, required b: core::int}) → dynamic field = ({core::int a = #C1, required core::int b = #C2}) → Null {}; static method method({core::int a = #C1, required core::int b = #C2, required final core::int c = #C2}) → dynamic {} static method ok() → dynamic { ({a: core::int, required b: core::int}) → dynamic f; function g({core::int a = #C1, required core::int b = #C2}) → void {} f = ({core::int a = #C1, required core::int b = #C2}) → Null {}; (core::int, [core::int]) → dynamic f2; function g2(core::int a, [core::int b = #C1]) → void {} f2 = (core::int a, [core::int b = #C1]) → Null {}; } static method error() → dynamic { ({a: core::int, required b: core::int}) → dynamic f; function g({core::int a = #C2, required core::int b = #C1}) → void {} f = ({core::int a = #C2, required core::int b = #C1}) → Null {}; (core::int, [core::int]) → dynamic f2; function g2(core::int a = #C1, [core::int b = #C2]) → void {} f2 = (core::int a = #C1, [core::int b = #C2]) → Null {}; } static method main() → dynamic {} constants { #C1 = 42 #C2 = null }