| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // Dart test program for constructors and initializers. |
| |
| // @dart = 2.9 |
| |
| // Exercises issue 2282, factory constructors in abstract classes should |
| // not emit a static type warning |
| |
| class B extends A1 { |
| B() {} |
| method() {} |
| } |
| |
| abstract class A1 { |
| A1() {} |
| method(); // Abstract. |
| factory A1.make() { |
| return new B(); |
| } |
| } |
| |
| class A2 { |
| // ^ |
| // [cfe] The non-abstract class 'A2' is missing implementations for these members: |
| |
| // Intentionally abstract method. |
| method(); |
| //^^^^^^^^^ |
| // [analyzer] COMPILE_TIME_ERROR.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER |
| A2.make() {} |
| } |
| |
| main() { |
| new A1.make(); |
| new A2.make(); |
| } |