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

Side by Side Diff: pkg/kernel/testcases/closures_initializers/initializers.dart.expect

Issue 2981603002: Convert closures in all initializers, and share the context between them. (Closed)
Patch Set: Review comments. 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
« no previous file with comments | « pkg/kernel/testcases/closures_initializers/initializers.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 X extends core::Object { 5 class X extends core::Object {
6 constructor •() → void 6 constructor •() → void
7 : super core::Object::•() 7 : super core::Object::•()
8 ; 8 ;
9 } 9 }
10 class A extends core::Object { 10 class A extends core::Object {
11 field self::X foo; 11 field self::X foo;
12 constructor •(self::X i) → void 12 constructor •(self::X i) → void
13 : self::A::foo = let final Vector #context = MakeVector(2) in let dynamic #t 1 = #context[1] = i in (MakeClosure<() → dynamic>(self::closure#A#function#funct ion, #context)).call(), super core::Object::•() 13 : final Vector #context = MakeVector(2), dynamic #t1 = #context[1] = i, self ::A::foo = (MakeClosure<() → dynamic>(self::closure#A#function#function, #contex t)).call(), super core::Object::•()
14 ;
15 }
16 class S extends self::A {
17 constructor •(self::X i) → void
18 : final Vector #context = MakeVector(2), dynamic #t2 = #context[1] = i, supe r self::A::•((MakeClosure<() → dynamic>(self::closure#S#function#function, #cont ext)).call())
19 ;
20 }
21 class S2 extends core::Object {
22 field self::X foo_li;
23 constructor •(self::X foo) → void
24 : final Vector #context = MakeVector(2), dynamic #t3 = #context[1] = foo, dy namic #li_0 = (MakeClosure<() → dynamic>(self::closure#S2#function#function, #co ntext)).call(), self::S2::foo_li = #li_0, super core::Object::•()
14 ; 25 ;
15 } 26 }
16 class B extends core::Object { 27 class B extends core::Object {
17 field self::X foo = null; 28 field self::X foo = null;
18 constructor named(self::X foo) → void 29 constructor named(self::X foo) → void
19 : super core::Object::•() {} 30 : super core::Object::•() {}
20 constructor •(self::X foo) → void 31 constructor •(self::X foo) → void
21 : dynamic extracted#0 = let final Vector #context = MakeVector(2) in let dyn amic #t2 = #context[1] = foo in (MakeClosure<() → dynamic>(self::closure#B#funct ion#function, #context)).call(), this self::B::named(extracted#0) 32 : final Vector #context = MakeVector(2), dynamic #t4 = #context[1] = foo, th is self::B::named((MakeClosure<() → dynamic>(self::closure#B#function#function, #context)).call())
22 ; 33 ;
23 } 34 }
24 static method main() → dynamic { 35 static method main() → dynamic {
25 self::A a = new self::A::•(new self::X::•()); 36 self::A a = new self::A::•(new self::X::•());
26 a.foo; 37 a.foo;
27 self::B b = new self::B::•(new self::X::•()); 38 self::B b = new self::B::•(new self::X::•());
28 b.foo; 39 b.foo;
40 self::S s = new self::S::•(new self::X::•());
41 s.foo;
42 self::S2 s2 = new self::S2::•(new self::X::•());
43 s2.foo_li;
29 } 44 }
30 static method closure#A#function#function(Vector #contextParameter) → dynamic { 45 static method closure#A#function#function(Vector #contextParameter) → dynamic {
31 return #contextParameter[1]; 46 return #contextParameter[1];
32 } 47 }
48 static method closure#S#function#function(Vector #contextParameter) → dynamic {
49 return #contextParameter[1];
50 }
51 static method closure#S2#function#function(Vector #contextParameter) → dynamic {
52 return #contextParameter[1];
53 }
33 static method closure#B#function#function(Vector #contextParameter) → dynamic { 54 static method closure#B#function#function(Vector #contextParameter) → dynamic {
34 return #contextParameter[1]; 55 return #contextParameter[1];
35 } 56 }
OLDNEW
« no previous file with comments | « pkg/kernel/testcases/closures_initializers/initializers.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698