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 |
9 abstract class K<T> { } | 9 abstract class J {} |
| 10 |
| 11 abstract class K<T> {} |
10 | 12 |
11 class X implements I, J, I { } // //# 01: compile-time error | 13 class X implements I, J, I { } // //# 01: compile-time error |
12 class X implements J, I, K<int>, K<int> { } // //# 02: compile-time error | 14 class X implements J, I, K<int>, K<int> { } // //# 02: compile-time error |
13 | 15 |
14 abstract class Z implements I, J, J { } // //# 03: compile-time erro
r | 16 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 | 17 abstract class Z implements K<int>, K<int> { } // //# 04: compile-time erro
r |
16 | 18 |
17 main() { | 19 main() { |
18 X x = new X(); // //# 01: continued | 20 X x = new X(); // //# 01: continued |
19 X x = new X(); // //# 02: continued | 21 X x = new X(); // //# 02: continued |
20 Z z = new Z(); // //# 03: continued | 22 Z z = new Z(); // //# 03: continued |
21 Z z = new Z(); // //# 04: continued | 23 Z z = new Z(); // //# 04: continued |
22 } | 24 } |
OLD | NEW |