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