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