| 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 |