OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // Dart test program for constructors and initializers. | 4 // Dart test program for constructors and initializers. |
5 | 5 |
6 // Exercises issue 2282, factory constructors in abstract classes should | 6 // Exercises issue 2282, factory constructors in abstract classes should |
7 // not emit a static type warning | 7 // not emit a static type warning |
8 | 8 |
9 class B extends A1 { | 9 class B extends A1 { |
10 B() {} | 10 B() {} |
11 method() {} | 11 method() {} |
12 } | 12 } |
13 | 13 |
14 abstract class A1 { | 14 abstract class A1 { |
15 A1() {} | 15 A1() {} |
16 method(); // Abstract. | 16 method(); // Abstract. |
17 factory A1.make() { return new B(); } | 17 factory A1.make() { return new B(); } |
18 } | 18 } |
19 | 19 |
20 class A2 { | 20 class A2 { |
21 // Intentionally abstract method. | 21 // Intentionally abstract method. |
22 method(); /// 00: static type warning | 22 method(); //# 00: static type warning |
23 A2.make() {} | 23 A2.make() {} |
24 } | 24 } |
25 | 25 |
26 main() { | 26 main() { |
27 new A1.make(); | 27 new A1.make(); |
28 new A2.make(); /// 00: continued | 28 new A2.make(); //# 00: continued |
29 } | 29 } |
OLD | NEW |