OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 checking that static/instance field shadowing do not conflict. | 4 // Dart test checking that static/instance field shadowing do not conflict. |
5 | 5 |
6 // Test that certain interfaces/classes are blacklisted from being | 6 // Test that certain interfaces/classes are blacklisted from being |
7 // implemented or extended. | 7 // implemented or extended. |
8 | 8 |
9 // bool. | 9 // bool. |
10 class MyBool implements bool {} /// 01: compile-time error | 10 class MyBool implements bool {} /// 01: compile-time error |
11 interface MyBoolInterface extends bool {} /// 02: compile-time error | 11 interface MyBoolInterface extends bool factory F {} /// 02: compile-time error |
12 | 12 |
13 // num. | 13 // num. |
14 class MyNum implements num {} /// 03: compile-time error | 14 class MyNum implements num {} /// 03: compile-time error |
15 interface MyNumInterface extends num {} /// 04: compile-time error | 15 interface MyNumInterface extends num factory F {} /// 04: compile-time error |
16 | 16 |
17 // int. | 17 // int. |
18 class MyInt implements int {} /// 05: compile-time error | 18 class MyInt implements int {} /// 05: compile-time error |
19 interface MyIntInterface extends int {} /// 06: compile-time error | 19 interface MyIntInterface extends int factory F {} /// 06: compile-time error |
20 | 20 |
21 // double. | 21 // double. |
22 class MyDouble implements double {} /// 07: compile-time error | 22 class MyDouble implements double {} /// 07: compile-time err
or |
23 interface MyDoubleInterface extends double {} /// 08: compile-time error | 23 interface MyDoubleInterface extends double factory F {} /// 08: compile-time err
or |
24 | 24 |
25 // String. | 25 // String. |
26 class MyString implements String {} /// 09: compile-time error | 26 class MyString implements String {} /// 09: compile-time err
or |
27 interface MyStringInterface extends String {} /// 10: compile-time error | 27 interface MyStringInterface extends String factory F {} /// 10: compile-time err
or |
28 | 28 |
29 // Function. | 29 // Function. |
30 class MyFunction implements Function {} /// 11: compile-time error | 30 class MyFunction implements Function {} /// 11: compile-time
error |
31 interface MyFunctionInterface extends Function {} /// 12: compile-time error | 31 interface MyFunctionInterface extends Function factory F {} /// 12: compile-time
error |
32 | 32 |
33 // Dynamic. | 33 // Dynamic. |
34 class MyDynamic implements Dynamic {} /// 13: compile-time error | 34 class MyDynamic implements Dynamic {} /// 13: compile-time
error |
35 interface MyDynamicInterface extends Dynamic {} /// 14: compile-time error | 35 interface MyDynamicInterface extends Dynamic factory F {} /// 14: compile-time
error |
| 36 |
| 37 |
| 38 class F { |
| 39 factory MyBoolInterface() { return null; } /// 02: continued |
| 40 factory MyNumInterface() { return null; } /// 04: continued |
| 41 factory MyIntInterface() { return null; } /// 06: continued |
| 42 factory MyDoubleInterface() { return null; } /// 08: continued |
| 43 factory MyStringInterface() { return null; } /// 10: continued |
| 44 factory MyFunctionInterface() { return null; } /// 12: continued |
| 45 factory MyDynamicInterface() { return null; } /// 14: continued |
| 46 } |
| 47 |
36 | 48 |
37 main() { | 49 main() { |
38 } | 50 new MyBool(); /// 01: continued |
| 51 new MyBoolInterface(); /// 02: continued |
| 52 new MyNum(); /// 03: continued |
| 53 new MyNumInterface(); /// 04: continued |
| 54 new MyInt(); /// 05: continued |
| 55 new MyIntInterface(); /// 06: continued |
| 56 new MyDouble(); /// 07: continued |
| 57 new MyDoubleInterface(); /// 08: continued |
| 58 new MyString(); /// 09: continued |
| 59 new MyStringInterface(); /// 10: continued |
| 60 new MyFunction(); /// 11: continued |
| 61 new MyFunctionInterface(); /// 12: continued |
| 62 new MyDynamic(); /// 13: continued |
| 63 new MyDynamicInterface(); /// 14: continued |
| 64 } |
OLD | NEW |