| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/external_constructor.dart:26:3: Error: Final field 'a2' is not initialized by this constructor. |
| // Try to initialize the field using an initializing formal or a field initializer. |
| // D.named(this.a1); // Error |
| // ^^^^^ |
| // pkg/front_end/testcases/general/external_constructor.dart:23:11: Context: 'a2' is defined here. |
| // final A a2; |
| // ^^ |
| // |
| // pkg/front_end/testcases/general/external_constructor.dart:33:3: Error: Final field 'a1' is not initialized by this constructor. |
| // Try to initialize the field using an initializing formal or a field initializer. |
| // E(this.a2); // Error |
| // ^ |
| // pkg/front_end/testcases/general/external_constructor.dart:30:11: Context: 'a1' is defined here. |
| // final A a1; |
| // ^^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| abstract class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| class B extends core::Object { |
| final field self::A a; |
| external constructor •(self::A a) → self::B; |
| } |
| class C extends core::Object { |
| final field self::A a1; |
| final field self::A a2; |
| external constructor •() → self::C; |
| constructor named(self::A a1, self::A a2) → self::C |
| : self::C::a1 = a1, self::C::a2 = a2, super core::Object::•() |
| ; |
| } |
| class D extends core::Object { |
| final field self::A a1; |
| final field self::A a2; |
| external constructor •() → self::D; |
| constructor named(self::A a1) → self::D |
| : self::D::a2 = null, self::D::a1 = a1, super core::Object::•() |
| ; |
| } |
| class E extends core::Object { |
| final field self::A a1; |
| final field self::A a2; |
| constructor •(self::A a2) → self::E |
| : self::E::a1 = null, self::E::a2 = a2, super core::Object::•() |
| ; |
| external constructor named() → self::E; |
| } |
| class F extends core::Object { |
| final field self::A a1; |
| final field self::A a2; |
| constructor •(self::A a1, self::A a2) → self::F |
| : self::F::a1 = a1, self::F::a2 = a2, super core::Object::•() |
| ; |
| external constructor named() → self::F; |
| } |