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 |