| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/super_parameters/default_values.dart:51:17: Error: Type 'int' of the optional super-initializer parameter 'x' doesn't allow 'null', but the parameter doesn't have a default value, and the default value can't be copied from the corresponding parameter of the super constructor. |
| // C5([int super.x]); // Error. |
| // ^ |
| // |
| // pkg/front_end/testcases/super_parameters/default_values.dart:114:17: Error: Type 'int' of the optional super-initializer parameter 'x' doesn't allow 'null', but the parameter doesn't have a default value, and the default value can't be copied from the corresponding parameter of the super constructor. |
| // Bp([int super.x]); // Error. |
| // ^ |
| // |
| // pkg/front_end/testcases/super_parameters/default_values.dart:123:17: Error: Type 'int' of the optional super-initializer parameter 'x' doesn't allow 'null', but the parameter doesn't have a default value, and the default value can't be copied from the corresponding parameter of the super constructor. |
| // Bn({int super.x}); // Error. |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class S1 extends core::Object { |
| field core::int s; |
| constructor •([core::int x = #C1]) → self::S1 |
| : self::S1::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class C1 extends self::S1 { |
| field core::int c; |
| constructor •([core::int x = #C1]) → self::C1 |
| : self::C1::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S1::•(x) |
| ; |
| } |
| class S2 extends core::Object { |
| field core::int s; |
| constructor •({core::int x = #C1}) → self::S2 |
| : self::S2::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class C2 extends self::S2 { |
| field core::int c; |
| constructor •({core::int x = #C1}) → self::C2 |
| : self::C2::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S2::•(x: x) |
| ; |
| } |
| class S3 extends core::Object { |
| field core::int s; |
| constructor •([core::int x = #C1]) → self::S3 |
| : self::S3::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class C3 extends self::S3 { |
| field core::int c; |
| constructor •([core::int x = #C2]) → self::C3 |
| : self::C3::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S3::•(x) |
| ; |
| } |
| class S4 extends core::Object { |
| field core::int s; |
| constructor •({core::int x = #C1}) → self::S4 |
| : self::S4::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class C4 extends self::S4 { |
| field core::int c; |
| constructor •({core::int x = #C2}) → self::C4 |
| : self::C4::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S4::•(x: x) |
| ; |
| } |
| class S5 extends core::Object { |
| field core::num a; |
| constructor •([core::num x = #C3]) → self::S5 |
| : self::S5::a = x.{core::num::-}(1){(core::num) → core::num}, super core::Object::•() |
| ; |
| } |
| class C5 extends self::S5 { |
| constructor •([core::int x = #C4]) → self::C5 |
| : super self::S5::•(x) |
| ; |
| } |
| class S6 extends core::Object { |
| field core::num? a; |
| constructor •([core::num? x = #C3]) → self::S6 |
| : self::S6::a = x, super core::Object::•() |
| ; |
| } |
| class C6 extends self::S6 { |
| field core::int? b = null; |
| constructor •([core::int? x = #C4]) → self::C6 |
| : super self::S6::•(x) |
| ; |
| } |
| class S7 extends core::Object { |
| field core::int s; |
| constructor •([core::int x = #C1]) → self::S7 |
| : self::S7::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class C7 extends self::S7 { |
| field core::int c; |
| constructor •([core::int x = #C1]) → self::C7 |
| : self::C7::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S7::•(x) |
| ; |
| } |
| class CC7 extends self::C7 { |
| field core::int cc; |
| constructor •([core::int x = #C1]) → self::CC7 |
| : self::CC7::cc = x.{core::num::*}(1){(core::num) → core::int}, super self::C7::•(x) |
| ; |
| } |
| class S8 extends core::Object { |
| field core::int s; |
| constructor •([core::int x = #C1]) → self::S8 |
| : self::S8::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class CC8 extends self::C8 { |
| field core::int cc; |
| constructor •([core::int x = #C1]) → self::CC8 |
| : self::CC8::cc = x.{core::num::*}(1){(core::num) → core::int}, super self::C8::•(x) |
| ; |
| } |
| class C8 extends self::S8 { |
| field core::int c; |
| constructor •([core::int x = #C1]) → self::C8 |
| : self::C8::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S8::•(x) |
| ; |
| } |
| class CC9 extends self::C9 { |
| field core::int cc; |
| constructor •([core::int x = #C1]) → self::CC9 |
| : self::CC9::cc = x.{core::num::*}(1){(core::num) → core::int}, super self::C9::•(x) |
| ; |
| } |
| class C9 extends self::S9 { |
| field core::int c; |
| constructor •([core::int x = #C1]) → self::C9 |
| : self::C9::c = x.{core::num::+}(1){(core::num) → core::int}, super self::S9::•(x) |
| ; |
| } |
| class S9 extends core::Object { |
| field core::int s; |
| constructor •([core::int x = #C1]) → self::S9 |
| : self::S9::s = x.{core::num::-}(1){(core::num) → core::int}, super core::Object::•() |
| ; |
| } |
| class Ap extends core::Object { |
| constructor •([core::num x = #C3]) → self::Ap |
| : super core::Object::•() |
| ; |
| } |
| class Bp extends self::Ap { |
| constructor •([core::int x = #C4]) → self::Bp |
| : super self::Ap::•(x) |
| ; |
| constructor req(core::int x) → self::Bp |
| : super self::Ap::•(x) |
| ; |
| } |
| class An extends core::Object { |
| constructor •({core::num x = #C3}) → self::An |
| : super core::Object::•() |
| ; |
| } |
| class Bn extends self::An { |
| constructor •({core::int x = #C4}) → self::Bn |
| : super self::An::•(x: x) |
| ; |
| constructor req({required core::int x = #C4}) → self::Bn |
| : super self::An::•(x: x) |
| ; |
| } |
| static method main() → dynamic {} |
| |
| constants { |
| #C1 = 0 |
| #C2 = 42 |
| #C3 = 3.14 |
| #C4 = null |
| } |