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() { |
| 18 return new B(); |
| 19 } |
18 } | 20 } |
19 | 21 |
20 class A2 { | 22 class A2 { |
21 // Intentionally abstract method. | 23 // Intentionally abstract method. |
22 method(); // //# 00: static type warning | 24 method(); // //# 00: static type warning |
23 A2.make() {} | 25 A2.make() {} |
24 } | 26 } |
25 | 27 |
26 main() { | 28 main() { |
27 new A1.make(); | 29 new A1.make(); |
28 new A2.make(); //# 00: continued | 30 new A2.make(); //# 00: continued |
29 } | 31 } |
OLD | NEW |