| OLD | NEW |
| 1 library test; | 1 library test; |
| 2 import self as self; | 2 import self as self; |
| 3 import "dart:core" as core; | 3 import "dart:core" as core; |
| 4 import "./infer_types_on_generic_instantiations_in_library_cycle_a.dart" as inf; | 4 import "./infer_types_on_generic_instantiations_in_library_cycle_a.dart" as inf; |
| 5 | 5 |
| 6 abstract class A<E extends core::Object> extends core::Object implements inf::I<
self::A::E> { | 6 abstract class A<E extends core::Object> extends core::Object implements inf::I<
self::A::E> { |
| 7 final field self::A::E value = null; | 7 final field self::A::E value = null; |
| 8 const constructor •() → void | 8 const constructor •() → void |
| 9 : super core::Object::•() | 9 : super core::Object::•() |
| 10 ; | 10 ; |
| 11 } | 11 } |
| 12 abstract class M extends core::Object { | 12 abstract class M extends core::Object { |
| 13 final field core::int y = 0; | 13 final field core::int y = 0; |
| 14 constructor •() → void | 14 constructor •() → void |
| 15 : super core::Object::•() | 15 : super core::Object::•() |
| 16 ; | 16 ; |
| 17 } | 17 } |
| 18 class B<E extends core::Object> extends self::A<self::B::E> implements self::M { | 18 class B<E extends core::Object> extends self::A<self::B::E> implements self::M { |
| 19 const constructor •() → void | 19 const constructor •() → void |
| 20 : super self::A::•() | 20 : super self::A::•() |
| 21 ; | 21 ; |
| 22 get y() → core::int | 22 get y() → core::int |
| 23 return 0; | 23 return 0; |
| 24 method m(dynamic a, (dynamic, core::int) → dynamic f) → dynamic {} | 24 method m(dynamic a, (dynamic, core::int) → dynamic f) → self::A<self::B::E> {} |
| 25 } | 25 } |
| 26 static method foo() → dynamic { | 26 static method foo() → dynamic { |
| 27 core::int y = new self::B::•<core::String>().{self::B::m}(null, null).value; | 27 core::int y = new self::B::•<core::String>().{self::B::m}(null, null).{self::A
::value}; |
| 28 core::String z = new self::B::•<core::String>().{self::B::m}(null, null).value
; | 28 core::String z = new self::B::•<core::String>().{self::B::m}(null, null).{self
::A::value}; |
| 29 } | 29 } |
| 30 static method main() → dynamic {} | 30 static method main() → dynamic {} |
| OLD | NEW |