| 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 import "package:expect/expect.dart" as exp; | 4 import "package:expect/expect.dart" as exp; |
| 5 | 5 |
| 6 class A extends core::Object { | 6 class A extends core::Object { |
| 7 constructor •() → dynamic | 7 constructor •() → void |
| 8 : super core::Object::•() {} | 8 : super core::Object::•() {} |
| 9 method m() → core::int {} |
| 9 static factory foo() → self::A | 10 static factory foo() → self::A |
| 10 invalid-statement; | 11 invalid-statement; |
| 11 method m() → core::int {} | |
| 12 } | 12 } |
| 13 class C extends self::A { | 13 class C extends self::A { |
| 14 constructor •() → dynamic | 14 constructor •() → void |
| 15 : super self::A::•() {} | 15 : super self::A::•() {} |
| 16 static factory bar() → self::C | |
| 17 invalid-statement; | |
| 18 method m() → core::int { | 16 method m() → core::int { |
| 19 return 1; | 17 return 1; |
| 20 } | 18 } |
| 19 static factory bar() → self::C |
| 20 throw "Missing constructor: D"; |
| 21 } | 21 } |
| 22 class D extends self::C { | 22 class D extends self::C { |
| 23 constructor •() → self::D | 23 constructor •() → void |
| 24 : super self::C::•(); | 24 : super self::C::•() |
| 25 ; |
| 25 method m() → core::int { | 26 method m() → core::int { |
| 26 return 2; | 27 return 2; |
| 27 } | 28 } |
| 28 } | 29 } |
| 29 static method main() → dynamic { | 30 static method main() → dynamic { |
| 30 self::A a = new self::D::•(); | 31 self::A a = self::C::bar(); |
| 31 exp::Expect::equals(2, a.m()); | 32 exp::Expect::equals(2, a.m(), null); |
| 32 } | 33 } |
| OLD | NEW |