OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 | 6 |
7 class A { | 7 class A { |
8 A() {} | 8 A() {} |
9 factory A.foo() = C.bar; | 9 factory A.foo() = C.bar; |
10 int m() {} | 10 int m() {} |
11 } | 11 } |
12 | 12 |
13 class C extends A { | 13 class C extends A { |
14 C() {} | 14 C() {} |
15 factory C.bar() = D; | 15 factory C.bar() = D; |
16 int m() { return 1; } | 16 int m() { return 1; } |
17 } | 17 } |
18 | 18 |
19 class D extends C { | 19 class D extends C { |
20 int m() { return 2; } | 20 int m() { return 2; } |
21 } | 21 } |
22 | 22 |
23 main() { | 23 main() { |
24 A a = new A.foo(); | 24 A a = new A.foo(); |
25 Expect.equals(2, a.m()); | 25 Expect.equals(2, a.m()); |
26 } | 26 } |
OLD | NEW |