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