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 class A extends core::Object { | 5 class A extends core::Object { |
6 constructor •() → void | 6 constructor •() → void |
7 : super core::Object::•() | |
8 ; | 7 ; |
9 } | 8 } |
10 class B extends core::Object { | 9 class B extends core::Object { |
11 constructor •() → void | 10 constructor •() → void |
12 : super core::Object::•() | |
13 ; | 11 ; |
14 } | 12 } |
15 class AB1 extends self::A implements self::B { | 13 class AB1 extends self::A implements self::B { |
16 constructor •() → void | 14 constructor •() → void |
17 : super self::A::•() | |
18 ; | 15 ; |
19 } | 16 } |
20 class AB2 extends self::A implements self::B { | 17 class AB2 extends self::A implements self::B { |
21 constructor •() → void | 18 constructor •() → void |
22 : super self::A::•() | |
23 ; | 19 ; |
24 } | 20 } |
25 class BA1 extends self::B implements self::A { | 21 class BA1 extends self::B implements self::A { |
26 constructor •() → void | 22 constructor •() → void |
27 : super self::B::•() | |
28 ; | 23 ; |
29 } | 24 } |
30 class BA2 extends self::B implements self::A { | 25 class BA2 extends self::B implements self::A { |
31 constructor •() → void | 26 constructor •() → void |
32 : super self::B::•() | |
33 ; | 27 ; |
34 } | 28 } |
35 static method takeSubclassOfA(dynamic obj) → dynamic {} | 29 static method takeSubclassOfA(dynamic obj) → dynamic |
36 static method takeSubclassOfB(dynamic obj) → dynamic {} | 30 ; |
37 static method main() → dynamic { | 31 static method takeSubclassOfB(dynamic obj) → dynamic |
38 self::takeSubclassOfA(new self::AB1::•()); | 32 ; |
39 self::takeSubclassOfA(new self::AB2::•()); | 33 static method main() → dynamic |
40 self::takeSubclassOfB(new self::BA1::•()); | 34 ; |
41 self::takeSubclassOfB(new self::BA2::•()); | |
42 } | |
OLD | NEW |