blob: d5d892ecfddda151c427a8aa65a609b26fb58d4b [file] [log] [blame]
// 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
}