OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 4 |
5 // Test use of @proxy and noSuchMethod in relation to abstract methods in | 5 // Test use of @proxy and noSuchMethod in relation to abstract methods in |
6 // concrete classes. | 6 // concrete classes. |
7 | 7 |
8 abstract class A { | 8 abstract class A { |
9 method6(); /// 06: static type warning | 9 method6(); //# 06: static type warning |
10 method7(); /// 07: static type warning | 10 method7(); //# 07: static type warning |
11 method8(); /// 08: ok | 11 method8(); //# 08: ok |
12 } | 12 } |
13 | 13 |
14 abstract class I { | 14 abstract class I { |
15 method9(); /// 09: static type warning | 15 method9(); //# 09: static type warning |
16 method10(); /// 10: static type warning | 16 method10(); //# 10: static type warning |
17 method11(); /// 11: ok | 17 method11(); //# 11: ok |
18 } | 18 } |
19 | 19 |
20 @proxy /// 02: static type warning | 20 @proxy //# 02: static type warning |
21 @proxy /// 07: continued | 21 @proxy //# 07: continued |
22 @proxy /// 10: continued | 22 @proxy //# 10: continued |
23 class Class1 extends A implements I { | 23 class Class1 extends A implements I { |
24 method1(); /// 01: static type warning | 24 method1(); //# 01: static type warning |
25 | 25 |
26 method2(); /// 02: continued | 26 method2(); //# 02: continued |
27 | 27 |
28 noSuchMethod(_) => null; /// 03: ok | 28 noSuchMethod(_) => null; //# 03: ok |
29 method3(); /// 03: continued | 29 method3(); //# 03: continued |
30 | 30 |
31 noSuchMethod(_, [__]) => null; /// 04: ok | 31 noSuchMethod(_, [__]) => null; //# 04: ok |
32 method4(); /// 04: continued | 32 method4(); //# 04: continued |
33 | 33 |
34 noSuchMethod(_); /// 05: ok | 34 noSuchMethod(_); //# 05: ok |
35 method5(); /// 05: continued | 35 method5(); //# 05: continued |
36 | 36 |
37 noSuchMethod(_) => null; /// 08: continued | 37 noSuchMethod(_) => null; //# 08: continued |
38 | 38 |
39 noSuchMethod(_) => null; /// 11: continued | 39 noSuchMethod(_) => null; //# 11: continued |
40 } | 40 } |
41 | 41 |
42 @proxy /// 12: static type warning | 42 @proxy //# 12: static type warning |
43 class B { | 43 class B { |
44 method12(); /// 12: continued | 44 method12(); //# 12: continued |
45 | 45 |
46 noSuchMethod(_) => null; /// 13: static type warning | 46 noSuchMethod(_) => null; //# 13: static type warning |
47 method13(); /// 13: continued | 47 method13(); //# 13: continued |
48 } | 48 } |
49 | 49 |
50 class Class2 extends B { | 50 class Class2 extends B { |
51 } | 51 } |
52 | 52 |
53 main() { | 53 main() { |
54 new Class1(); | 54 new Class1(); |
55 new Class2(); | 55 new Class2(); |
56 } | 56 } |
OLD | NEW |