OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 4 |
5 class S { } | 5 class S { } |
6 class G<T> { } | 6 class G<T> { } |
7 class M { } | 7 class M { } |
8 | 8 |
9 class T = S with M; | 9 class T = S with M; |
10 typedef T0 = S with M; // /// 00: compile-time error | 10 typedef T0 = S with M; // //# 00: compile-time error |
11 abstract class TA = S with M; | 11 abstract class TA = S with M; |
12 class T1 = final S with M; // /// 01: compile-time error | 12 class T1 = final S with M; // //# 01: compile-time error |
13 class T2 = var S with M; // /// 02: compile-time error | 13 class T2 = var S with M; // //# 02: compile-time error |
14 class T3 = const S with M; // /// 03: compile-time error | 14 class T3 = const S with M; // //# 03: compile-time error |
15 class T4 = static S with M; // /// 04: compile-time error | 15 class T4 = static S with M; // //# 04: compile-time error |
16 class T5 = external S with M; // /// 05: compile-time error | 16 class T5 = external S with M; // //# 05: compile-time error |
17 class T6 = G<int> with M; | 17 class T6 = G<int> with M; |
18 class T7 = G<Map<String,int>> with M; | 18 class T7 = G<Map<String,int>> with M; |
19 | 19 |
20 class C0 extends abstract S with M { } // /// 06: compile-time error | 20 class C0 extends abstract S with M { } // //# 06: compile-time error |
21 class C1 extends final S with M { } // /// 07: compile-time error | 21 class C1 extends final S with M { } // //# 07: compile-time error |
22 class C2 extends var S with M { } // /// 08: compile-time error | 22 class C2 extends var S with M { } // //# 08: compile-time error |
23 class C3 extends const S with M { } // /// 09: compile-time error | 23 class C3 extends const S with M { } // //# 09: compile-time error |
24 class C4 extends static S with M { } // /// 10: compile-time error | 24 class C4 extends static S with M { } // //# 10: compile-time error |
25 class C5 extends external S with M { } // /// 11: compile-time error | 25 class C5 extends external S with M { } // //# 11: compile-time error |
26 class C6 extends G<int> with M { } | 26 class C6 extends G<int> with M { } |
27 class C7 extends G<Map<String,int>> with M { } | 27 class C7 extends G<Map<String,int>> with M { } |
28 | 28 |
29 class D0 extends S with M | 29 class D0 extends S with M |
30 implements M // /// 12: compile-time error | 30 implements M // //# 12: compile-time error |
31 implements M { } | 31 implements M { } |
32 | 32 |
33 class D1 extends T { } | 33 class D1 extends T { } |
34 | 34 |
35 class X = S; // /// 14: compile-time error | 35 class X = S; // //# 14: compile-time error |
36 | 36 |
37 main() { | 37 main() { |
38 new T(); | 38 new T(); |
39 new TA(); // /// 13: static type warning, runtime error | 39 new TA(); // //# 13: static type warning, runtime error |
40 new T1(); // /// 01: continued | 40 new T1(); // //# 01: continued |
41 new T2(); // /// 02: continued | 41 new T2(); // //# 02: continued |
42 new T3(); // /// 03: continued | 42 new T3(); // //# 03: continued |
43 new T4(); // /// 04: continued | 43 new T4(); // //# 04: continued |
44 new T5(); // /// 05: continued | 44 new T5(); // //# 05: continued |
45 new T6(); | 45 new T6(); |
46 new T7(); | 46 new T7(); |
47 | 47 |
48 new C0(); // /// 06: continued | 48 new C0(); // //# 06: continued |
49 new C1(); // /// 07: continued | 49 new C1(); // //# 07: continued |
50 new C2(); // /// 08: continued | 50 new C2(); // //# 08: continued |
51 new C3(); // /// 09: continued | 51 new C3(); // //# 09: continued |
52 new C4(); // /// 10: continued | 52 new C4(); // //# 10: continued |
53 new C5(); // /// 11: continued | 53 new C5(); // //# 11: continued |
54 new C6(); | 54 new C6(); |
55 new C7(); | 55 new C7(); |
56 | 56 |
57 new D0(); // /// 12: continued | 57 new D0(); // //# 12: continued |
58 new D1(); | 58 new D1(); |
59 new X(); // /// 14: continued | 59 new X(); // //# 14: continued |
60 } | 60 } |
OLD | NEW |