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

Side by Side Diff: pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.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 4
5 abstract class I<E extends core::Object> extends core::Object { 5 abstract class I<E extends core::Object> extends core::Object {
6 constructor •() → void 6 constructor •() → void
7 : super core::Object::•() 7 : super core::Object::•()
8 ; 8 ;
9 abstract method m(dynamic a, (dynamic, self::I::E) → core::String f) → core::S tring; 9 abstract method m(dynamic a, (dynamic, self::I::E) → core::String f) → core::S tring;
10 } 10 }
11 abstract class A<E extends core::Object> extends core::Object implements self::I <self::A::E> { 11 abstract class A<E extends core::Object> extends core::Object implements self::I <self::A::E> {
12 const constructor •() → void 12 const constructor •() → void
13 : super core::Object::•() 13 : super core::Object::•()
14 ; 14 ;
15 abstract method m(dynamic a, (dynamic, self::A::E) → core::String f) → core::S tring; 15 abstract method m(dynamic a, (dynamic, self::A::E) → core::String f) → core::S tring;
16 } 16 }
17 abstract class M extends core::Object { 17 abstract class M extends core::Object {
18 final field core::int y = 0; 18 final field core::int y = 0;
19 constructor •() → void 19 constructor •() → void
20 : super core::Object::•() 20 : super core::Object::•()
21 ; 21 ;
22 } 22 }
23 class B<E extends core::Object> extends self::A<self::B::E> implements self::M { 23 class B<E extends core::Object> extends self::A<self::B::E> implements self::M {
24 const constructor •() → void 24 const constructor •() → void
25 : super self::A::•() 25 : super self::A::•()
26 ; 26 ;
27 get y() → core::int 27 get y() → core::int
28 return 0; 28 return 0;
29 method m(dynamic a, (dynamic, self::B::E) → dynamic f) → dynamic {} 29 method m(dynamic a, (dynamic, self::B::E) → dynamic f) → core::String {}
30 } 30 }
31 static method foo() → dynamic { 31 static method foo() → dynamic {
32 core::int y = new self::B::•<dynamic>().{self::B::m}(null, null); 32 core::int y = new self::B::•<dynamic>().{self::B::m}(null, null);
33 core::String z = new self::B::•<dynamic>().{self::B::m}(null, null); 33 core::String z = new self::B::•<dynamic>().{self::B::m}(null, null);
34 } 34 }
35 static method main() → dynamic {} 35 static method main() → dynamic {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698