| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/issue40982.dart:28:9: Error: A constant constructor can't call a non-constant super constructor. |
| // const E1(); |
| // ^ |
| // |
| // pkg/front_end/testcases/general/issue40982.dart:34:9: Error: A constant constructor can't call a non-constant super constructor. |
| // const E3(); |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object /*hasConstConstructor*/ { |
| const constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| abstract class B extends core::Object /*isMixinDeclaration*/ { |
| static const field core::int value = #C1; |
| } |
| abstract class _C1&A&B = self::A with self::B /*isAnonymousMixin,hasConstConstructor*/ { |
| const synthetic constructor •() → self::_C1&A&B |
| : super self::A::•() |
| ; |
| } |
| class C1 extends self::_C1&A&B /*hasConstConstructor*/ { |
| const constructor •() → self::C1 |
| : super self::_C1&A&B::•() |
| ; |
| } |
| class C2 = self::A with self::B /*hasConstConstructor*/ { |
| const synthetic constructor •() → self::C2 |
| : super self::A::•() |
| ; |
| } |
| class C3 extends self::C2 /*hasConstConstructor*/ { |
| const constructor •() → self::C3 |
| : super self::C2::•() |
| ; |
| } |
| abstract class D extends core::Object /*isMixinDeclaration*/ { |
| field core::int value = 1; |
| } |
| abstract class _E1&A&D = self::A with self::D /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_E1&A&D |
| : super self::A::•() |
| ; |
| mixin-super-stub get value() → core::int |
| return super.{self::D::value}; |
| mixin-super-stub set value(core::int value) → void |
| return super.{self::D::value} = value; |
| } |
| class E1 extends self::_E1&A&D /*hasConstConstructor*/ { |
| const constructor •() → self::E1 |
| : super self::_E1&A&D::•() |
| ; |
| } |
| class E2 = self::A with self::D { |
| synthetic constructor •() → self::E2 |
| : super self::A::•() |
| ; |
| mixin-super-stub get value() → core::int |
| return super.{self::D::value}; |
| mixin-super-stub set value(core::int value) → void |
| return super.{self::D::value} = value; |
| } |
| class E3 extends self::E2 /*hasConstConstructor*/ { |
| const constructor •() → self::E3 |
| : super self::E2::•() |
| ; |
| } |
| static method main() → dynamic {} |
| |
| constants { |
| #C1 = 1 |
| } |