| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // Dart test checking that static/instance field shadowing do not conflict. |
| |
| // Test that certain interfaces/classes are blacklisted from being |
| // implemented or extended. |
| |
| // bool. |
| class MyBool implements bool {} /// 01: compile-time error |
| abstract class MyBoolInterface implements bool default F { /// 02: compile-time error |
| MyBoolInterface(); /// 02: continued |
| } /// 02: continued |
| |
| // num. |
| class MyNum implements num {} /// 03: compile-time error |
| abstract class MyNumInterface implements num default F { /// 04: compile-time error |
| MyNumInterface(); /// 04: continued |
| } /// 04: continued |
| |
| // int. |
| class MyInt implements int {} /// 05: compile-time error |
| abstract class MyIntInterface implements int default F { /// 06: compile-time error |
| MyIntInterface(); /// 06: continued |
| } /// 06: continued |
| |
| // double. |
| class MyDouble implements double {} /// 07: compile-time error |
| abstract class MyDoubleInterface implements double default F { /// 08: compile-time error |
| MyDoubleInterface(); /// 08: continued |
| } /// 08: continued |
| |
| // String. |
| class MyString implements String {} /// 09: compile-time error |
| abstract class MyStringInterface implements String default F { /// 10: compile-time error |
| MyStringInterface(); /// 10: continued |
| } /// 10: continued |
| |
| // Function. |
| class MyFunction implements Function {} /// 11: compile-time error |
| abstract class MyFunctionInterface implements Function default F { /// 12: compile-time error |
| MyFunctionInterface(); /// 12: continued |
| } /// 12: continued |
| |
| // dynamic. |
| class MyDynamic implements dynamic {} /// 13: compile-time error |
| abstract class MyDynamicInterface implements dynamic default F { /// 14: compile-time error |
| MyDynamicInterface(); /// 14: continued |
| } /// 14: continued |
| |
| |
| class F { |
| factory MyBoolInterface() { return null; } /// 02: continued |
| factory MyNumInterface() { return null; } /// 04: continued |
| factory MyIntInterface() { return null; } /// 06: continued |
| factory MyDoubleInterface() { return null; } /// 08: continued |
| factory MyStringInterface() { return null; } /// 10: continued |
| factory MyFunctionInterface() { return null; } /// 12: continued |
| factory MyDynamicInterface() { return null; } /// 14: continued |
| } |
| |
| |
| main() { |
| new MyBool(); /// 01: continued |
| new MyBoolInterface(); /// 02: continued |
| new MyNum(); /// 03: continued |
| new MyNumInterface(); /// 04: continued |
| new MyInt(); /// 05: continued |
| new MyIntInterface(); /// 06: continued |
| new MyDouble(); /// 07: continued |
| new MyDoubleInterface(); /// 08: continued |
| new MyString(); /// 09: continued |
| new MyStringInterface(); /// 10: continued |
| new MyFunction(); /// 11: continued |
| new MyFunctionInterface(); /// 12: continued |
| new MyDynamic(); /// 13: continued |
| new MyDynamicInterface(); /// 14: continued |
| } |