Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(242)

Side by Side Diff: pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.strong.expect

Issue 2946273002: Implement override-based type inference for instance methods. (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698