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 // Check that duplicate types in implements/extends list are | 4 // Check that duplicate types in implements/extends list are |
5 // compile-time errors. | 5 // compile-time errors. |
6 | 6 |
7 abstract class I { } | 7 abstract class I { } |
8 abstract class J { } | 8 abstract class J { } |
9 abstract class K<T> { } | 9 abstract class K<T> { } |
10 | 10 |
11 class X implements I, J, I { } // /// 01: compile-time error | 11 class X implements I, J, I { } // //# 01: compile-time error |
12 class X implements J, I, K<int>, K<int> { } // /// 02: compile-time error | 12 class X implements J, I, K<int>, K<int> { } // //# 02: compile-time error |
13 | 13 |
14 abstract class Z implements I, J, J { } // /// 03: compile-time erro
r | 14 abstract class Z implements I, J, J { } // //# 03: compile-time erro
r |
15 abstract class Z implements K<int>, K<int> { } // /// 04: compile-time erro
r | 15 abstract class Z implements K<int>, K<int> { } // //# 04: compile-time erro
r |
16 | 16 |
17 main() { | 17 main() { |
18 X x = new X(); // /// 01: continued | 18 X x = new X(); // //# 01: continued |
19 X x = new X(); // /// 02: continued | 19 X x = new X(); // //# 02: continued |
20 Z z = new Z(); // /// 03: continued | 20 Z z = new Z(); // //# 03: continued |
21 Z z = new Z(); // /// 04: continued | 21 Z z = new Z(); // //# 04: continued |
22 } | 22 } |
OLD | NEW |