blob: 201e23a8c5fec76697cb6ea66c63da1aa938014f [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/required_name_override.dart:13:36: Error: The required named parameter 'i' in method 'A.test_default' is not required in overridden method 'B.test_default'.
// void test_default({required int? i}) {}
// ^
// pkg/front_end/testcases/nnbd/required_name_override.dart:8:8: Context: This is the overridden method ('test_default').
// void test_default({int? i}) {}
// ^
//
// pkg/front_end/testcases/nnbd/required_name_override.dart:14:39: Error: The required named parameter 'i' in method 'A.test_nondefault' is not required in overridden method 'B.test_nondefault'.
// void test_nondefault({required int? i}) {}
// ^
// pkg/front_end/testcases/nnbd/required_name_override.dart:9:8: Context: This is the overridden method ('test_nondefault').
// void test_nondefault({int? i = 1}) {}
// ^
//
// pkg/front_end/testcases/nnbd/required_name_override.dart:15:35: Error: The required named parameter 'i' in method 'A.test_legacy' is not required in overridden method 'C.test_legacy'.
// void test_legacy({required int? i}) {}
// ^
// pkg/front_end/testcases/nnbd/required_name_override_lib.dart:8:8: Context: This is the overridden method ('test_legacy').
// void test_legacy({int i}) {}
// ^
//
import self as self;
import "dart:core" as core;
import "required_name_override_lib.dart" as req;
import "org-dartlang-testcase:///required_name_override_lib.dart";
class B extends core::Object {
synthetic constructor •() self::B
: super core::Object::•()
;
method test_default({core::int? i = #C1}) → void {}
method test_nondefault({core::int? i = #C2}) → void {}
}
class A extends self::B implements req::C {
synthetic constructor •() self::A
: super self::B::•()
;
method test_default({required core::int? i = #C1}) → void {}
method test_nondefault({required core::int? i = #C1}) → void {}
method test_legacy({required core::int? i = #C1}) → void {}
}
static method main() dynamic {
new self::A::•().{self::A::test_default}(i: 1);
new self::A::•().{self::A::test_nondefault}(i: 1);
new self::A::•().{self::A::test_legacy}(i: 1);
}
library;
import self as req;
import "dart:core" as core;
class C extends core::Object {
synthetic constructor •() req::C*
: super core::Object::•()
;
method test_legacy({core::int* i = #C1}) → void {}
}
constants {
#C1 = null
#C2 = 1
}