| library; |
| // |
| // 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 extends self::A implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ { |
| static const field core::int value = #C1; |
| 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 extends self::A implements self::B /*isEliminatedMixin,hasConstConstructor*/ { |
| static const field core::int value = #C1; |
| 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 extends self::A implements self::D /*isAnonymousMixin,isEliminatedMixin*/ { |
| field core::int value = 1; |
| synthetic constructor •() → self::_E1&A&D |
| : super self::A::•() |
| ; |
| } |
| class E1 extends self::_E1&A&D /*hasConstConstructor*/ { |
| const constructor •() → self::E1 |
| : super self::_E1&A&D::•() |
| ; |
| } |
| class E2 extends self::A implements self::D /*isEliminatedMixin*/ { |
| field core::int value = 1; |
| synthetic constructor •() → self::E2 |
| : super self::A::•() |
| ; |
| } |
| class E3 extends self::E2 /*hasConstConstructor*/ { |
| const constructor •() → self::E3 |
| : super self::E2::•() |
| ; |
| } |
| static method main() → dynamic {} |
| |
| constants { |
| #C1 = 1 |
| } |