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 MyBoolInterface(); /// 02: continued |
| 13 } /// 02: continued |
12 | 14 |
13 // num. | 15 // num. |
14 class MyNum implements num {} /// 03: compile-time error | 16 class MyNum implements num {} /// 03: compile-time error |
15 interface MyNumInterface extends num {} /// 04: compile-time error | 17 interface MyNumInterface extends num factory F { /// 04: compile-time error |
| 18 MyNumInterface(); /// 04: continued |
| 19 } /// 04: continued |
16 | 20 |
17 // int. | 21 // int. |
18 class MyInt implements int {} /// 05: compile-time error | 22 class MyInt implements int {} /// 05: compile-time error |
19 interface MyIntInterface extends int {} /// 06: compile-time error | 23 interface MyIntInterface extends int factory F { /// 06: compile-time error |
| 24 MyIntInterface(); /// 06: continued |
| 25 } /// 06: continued |
20 | 26 |
21 // double. | 27 // double. |
22 class MyDouble implements double {} /// 07: compile-time error | 28 class MyDouble implements double {} /// 07: compile-time err
or |
23 interface MyDoubleInterface extends double {} /// 08: compile-time error | 29 interface MyDoubleInterface extends double factory F { /// 08: compile-time err
or |
| 30 MyDoubleInterface(); /// 08: continued |
| 31 } /// 08: continued |
24 | 32 |
25 // String. | 33 // String. |
26 class MyString implements String {} /// 09: compile-time error | 34 class MyString implements String {} /// 09: compile-time err
or |
27 interface MyStringInterface extends String {} /// 10: compile-time error | 35 interface MyStringInterface extends String factory F { /// 10: compile-time err
or |
| 36 MyStringInterface(); /// 10: continued |
| 37 } /// 10: continued |
28 | 38 |
29 // Function. | 39 // Function. |
30 class MyFunction implements Function {} /// 11: compile-time error | 40 class MyFunction implements Function {} /// 11: compile-time
error |
31 interface MyFunctionInterface extends Function {} /// 12: compile-time error | 41 interface MyFunctionInterface extends Function factory F { /// 12: compile-time
error |
| 42 MyFunctionInterface(); /// 12: continued |
| 43 } /// 12: continued |
32 | 44 |
33 // Dynamic. | 45 // Dynamic. |
34 class MyDynamic implements Dynamic {} /// 13: compile-time error | 46 class MyDynamic implements Dynamic {} /// 13: compile-time
error |
35 interface MyDynamicInterface extends Dynamic {} /// 14: compile-time error | 47 interface MyDynamicInterface extends Dynamic factory F { /// 14: compile-time
error |
| 48 MyDynamicInterface(); /// 14: continued |
| 49 } /// 14: continued |
| 50 |
| 51 |
| 52 class F { |
| 53 factory MyBoolInterface() { return null; } /// 02: continued |
| 54 factory MyNumInterface() { return null; } /// 04: continued |
| 55 factory MyIntInterface() { return null; } /// 06: continued |
| 56 factory MyDoubleInterface() { return null; } /// 08: continued |
| 57 factory MyStringInterface() { return null; } /// 10: continued |
| 58 factory MyFunctionInterface() { return null; } /// 12: continued |
| 59 factory MyDynamicInterface() { return null; } /// 14: continued |
| 60 } |
| 61 |
36 | 62 |
37 main() { | 63 main() { |
38 } | 64 new MyBool(); /// 01: continued |
| 65 new MyBoolInterface(); /// 02: continued |
| 66 new MyNum(); /// 03: continued |
| 67 new MyNumInterface(); /// 04: continued |
| 68 new MyInt(); /// 05: continued |
| 69 new MyIntInterface(); /// 06: continued |
| 70 new MyDouble(); /// 07: continued |
| 71 new MyDoubleInterface(); /// 08: continued |
| 72 new MyString(); /// 09: continued |
| 73 new MyStringInterface(); /// 10: continued |
| 74 new MyFunction(); /// 11: continued |
| 75 new MyFunctionInterface(); /// 12: continued |
| 76 new MyDynamic(); /// 13: continued |
| 77 new MyDynamicInterface(); /// 14: continued |
| 78 } |
OLD | NEW |