OLD | NEW |
1 library; | 1 library; |
2 import self as self; | 2 import self as self; |
3 import "dart:core" as core; | 3 import "dart:core" as core; |
4 | 4 |
5 abstract class Object&M1 extends core::Object implements self::M1 { | 5 abstract class Object&M1 = core::Object with self::M1 { |
6 constructor •() → void | |
7 : super core::Object::•() | |
8 ; | |
9 method m() → dynamic | |
10 return core::print("M1"); | |
11 } | 6 } |
12 abstract class Object&M1&M2 extends self::Object&M1 implements self::M2 { | 7 abstract class Object&M1&M2 = self::Object&M1 with self::M2 { |
13 constructor •() → void | |
14 : super self::Object&M1::•() | |
15 ; | |
16 method m() → dynamic | |
17 return core::print("M2"); | |
18 } | 8 } |
19 class B extends self::Object&M1&M2 { | 9 class B extends self::Object&M1&M2 { |
20 constructor •(dynamic value) → void | 10 constructor •(dynamic value) → void |
21 : super self::Object&M1&M2::•() | 11 : super core::Object::•() |
22 ; | 12 ; |
23 } | 13 } |
24 abstract class M1 extends core::Object { | 14 abstract class M1 extends core::Object { |
25 constructor •() → void | 15 constructor •() → void |
26 : super core::Object::•() | 16 : super core::Object::•() |
27 ; | 17 ; |
28 method m() → dynamic | 18 method m() → dynamic |
29 return core::print("M1"); | 19 return core::print("M1"); |
30 } | 20 } |
31 abstract class M2 extends core::Object { | 21 abstract class M2 extends core::Object { |
32 constructor •() → void | 22 constructor •() → void |
33 : super core::Object::•() | 23 : super core::Object::•() |
34 ; | 24 ; |
35 method m() → dynamic | 25 method m() → dynamic |
36 return core::print("M2"); | 26 return core::print("M2"); |
37 } | 27 } |
38 class C extends self::Object&M1&M2 { | 28 class C extends self::Object&M1&M2 { |
39 constructor •(dynamic value) → void | 29 constructor •(dynamic value) → void |
40 : super self::Object&M1&M2::•() | 30 : super core::Object::•() |
41 ; | 31 ; |
42 } | 32 } |
43 abstract class G1<T extends core::Object> extends core::Object { | 33 abstract class G1<T extends core::Object> extends core::Object { |
44 constructor •() → void | 34 constructor •() → void |
45 : super core::Object::•() | 35 : super core::Object::•() |
46 ; | 36 ; |
47 method m() → dynamic | 37 method m() → dynamic |
48 return core::print(self::G1::T); | 38 return core::print(self::G1::T); |
49 } | 39 } |
50 abstract class Object&G1^^#T0<#T0 extends core::Object> extends core::Object imp
lements self::G1<self::Object&G1^^#T0::#T0> { | 40 abstract class Object&G1^^#T0<#T0 extends core::Object> = core::Object with self
::G1<self::Object&G1^^#T0::#T0> { |
| 41 } |
| 42 class D<S extends core::Object> extends self::Object&G1^^#T0<self::D::S> { |
51 constructor •() → void | 43 constructor •() → void |
52 : super core::Object::•() | 44 : super core::Object::•() |
53 ; | 45 ; |
54 method m() → dynamic | |
55 return core::print(self::Object&G1^^#T0::#T0); | |
56 } | |
57 class D<S extends core::Object> extends self::Object&G1^^#T0<self::D::S> { | |
58 constructor •() → void | |
59 : super self::Object&G1^^#T0::•() | |
60 ; | |
61 } | 46 } |
62 static method main() → dynamic { | 47 static method main() → dynamic { |
63 new self::B::•(null).m(); | 48 new self::B::•(null).m(); |
64 new self::C::•(null).m(); | 49 new self::C::•(null).m(); |
65 new self::D::•<dynamic>().m(); | 50 new self::D::•<dynamic>().m(); |
66 new self::D::•<core::int>().m(); | 51 new self::D::•<core::int>().m(); |
67 new self::D::•<core::List<core::int>>().m(); | 52 new self::D::•<core::List<core::int>>().m(); |
68 } | 53 } |
OLD | NEW |