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