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

Side by Side Diff: pkg/kernel/testcases/closures/type_variables.dart.expect

Issue 2891053003: Add support for converted closures with explicit contexts to VM (Closed)
Patch Set: Temporarily disable Run step in closures test suite Created 3 years, 5 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; 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 C<T extends core::Object, S extends core::Object> extends core::Object { 5 class C<T extends core::Object, S extends core::Object> extends core::Object {
6 constructor internal() → void 6 constructor internal() → void
7 : super core::Object::•() 7 : super core::Object::•()
8 ; 8 ;
9 method foo(self::C::S s) → dynamic { 9 method foo(self::C::S s) → dynamic {
10 final Vector #context = MakeVector(2); 10 final Vector #context = MakeVector(2);
11 #context[1] = this; 11 #context[1] = this;
12 return MakeClosure<(dynamic) → dynamic>(self::closure#C#foo#function, #conte xt); 12 return MakeClosure<(dynamic) → dynamic>(self::closure#C#foo#function, #conte xt);
13 } 13 }
14 method bar() → dynamic { 14 method bar() → dynamic {
15 self::C<self::C::T, self::C::S> self = this; 15 self::C<self::C::T, self::C::S> self = this;
16 } 16 }
17 method baz() → dynamic { 17 method baz() → dynamic {
18 return MakeClosure<() → () → self::C<dynamic, dynamic>>(self::closure#C#baz# function, null); 18 return MakeClosure<() → dynamic>(self::closure#C#baz#function, null);
19 } 19 }
20 static factory •<T extends core::Object, S extends core::Object>() → self::C<s elf::C::•::T, self::C::•::S> { 20 static factory •<T extends core::Object, S extends core::Object>() → self::C<s elf::C::•::T, self::C::•::S> {
21 final () → dynamic local = MakeClosure<() → dynamic>(self::closure#C#functio n#local, null); 21 final () → dynamic local = MakeClosure<() → dynamic>(self::closure#C#functio n#local, null);
22 return local.call(); 22 return local.call();
23 } 23 }
24 } 24 }
25 static method main(dynamic arguments) → dynamic { 25 static method main(dynamic arguments) → dynamic {
26 core::print(self::C::•<core::String, core::String>().foo(null).call(arguments. first)); 26 core::print(self::C::•<core::String, core::String>().foo(null).call(arguments. first));
27 dynamic c = self::C::•<core::int, core::int>().baz().call().call(); 27 dynamic c = self::C::•<core::int, core::int>().baz().call().call();
28 if(!(c is self::C<core::int, core::int>)) 28 if(!(c is self::C<core::int, core::int>))
29 throw "${c} fails type test 'is C<int, int>'"; 29 throw "${c} fails type test 'is C<int, int>'";
30 if(c is self::C<core::String, core::String>) { 30 if(c is self::C<core::String, core::String>) {
31 throw "${c{self::C<core::String, core::String>}} passes type test 'is C<Stri ng, String>'"; 31 throw "${c{self::C<core::String, core::String>}} passes type test 'is C<Stri ng, String>'";
32 } 32 }
33 core::print(c); 33 core::print(c);
34 } 34 }
35 static method closure#C#foo#function(Vector #contextParameter, dynamic x) → dyna mic { 35 static method closure#C#foo#function(Vector #contextParameter, dynamic x) → dyna mic {
36 dynamic y = x; 36 dynamic y = x;
37 core::Object z = y; 37 core::Object z = y;
38 self::C<dynamic, dynamic> self = #contextParameter[1]; 38 self::C<dynamic, dynamic> self = #contextParameter[1];
39 return z as dynamic; 39 return z as dynamic;
40 } 40 }
41 static method closure#C#baz#function#function(Vector #contextParameter) → self:: C<dynamic, dynamic> { 41 static method closure#C#baz#function#function(Vector #contextParameter) → dynami c {
42 return self::C::•<dynamic, dynamic>(); 42 return self::C::•<dynamic, dynamic>();
43 } 43 }
44 static method closure#C#baz#function(Vector #contextParameter) → () → self::C<dy namic, dynamic> { 44 static method closure#C#baz#function(Vector #contextParameter) → dynamic {
45 return MakeClosure<() → self::C<dynamic, dynamic>>(self::closure#C#baz#functio n#function, #contextParameter); 45 return MakeClosure<() → dynamic>(self::closure#C#baz#function#function, #conte xtParameter);
46 } 46 }
47 static method closure#C#function#local(Vector #contextParameter) → dynamic { 47 static method closure#C#function#local(Vector #contextParameter) → dynamic {
48 self::C<dynamic, dynamic> self = new self::C::internal<dynamic, dynamic>(); 48 self::C<dynamic, dynamic> self = new self::C::internal<dynamic, dynamic>();
49 return self; 49 return self;
50 } 50 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698