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

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: Fix unnecessary context bug. 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 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;
23 constructor •(self::X foo) → void
24 : self::S2::foo = foo, super core::Object::•()
25 ;
26 constructor wat(self::X i) → void
27 : final Vector #context = MakeVector(2), dynamic #t3 = #context[1] = i, dyna mic extracted#0 = (MakeClosure<() → dynamic>(self::closure#S2#wat#function, #con text)).call(), this self::S2::•(extracted#0)
14 ; 28 ;
15 } 29 }
16 class B extends core::Object { 30 class B extends core::Object {
17 field self::X foo = null; 31 field self::X foo = null;
18 constructor named(self::X foo) → void 32 constructor named(self::X foo) → void
19 : super core::Object::•() {} 33 : super core::Object::•() {}
20 constructor •(self::X foo) → void 34 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) 35 : final Vector #context = MakeVector(2), dynamic #t4 = #context[1] = foo, dy namic extracted#0 = (MakeClosure<() → dynamic>(self::closure#B#function#function , #context)).call(), this self::B::named(extracted#0)
22 ; 36 ;
23 } 37 }
24 static method main() → dynamic { 38 static method main() → dynamic {
25 self::A a = new self::A::•(new self::X::•()); 39 self::A a = new self::A::•(new self::X::•());
26 a.foo; 40 a.foo;
27 self::B b = new self::B::•(new self::X::•()); 41 self::B b = new self::B::•(new self::X::•());
28 b.foo; 42 b.foo;
43 self::S s = new self::S::•(new self::X::•());
44 s.foo;
45 self::S2 s2 = new self::S2::•(new self::X::•());
46 s2.foo;
29 } 47 }
30 static method closure#A#function#function(Vector #contextParameter) → dynamic { 48 static method closure#A#function#function(Vector #contextParameter) → dynamic {
31 return #contextParameter[1]; 49 return #contextParameter[1];
32 } 50 }
51 static method closure#S#function#function(Vector #contextParameter) → dynamic {
52 return #contextParameter[1];
53 }
54 static method closure#S2#wat#function(Vector #contextParameter) → dynamic {
55 return #contextParameter[1];
56 }
33 static method closure#B#function#function(Vector #contextParameter) → dynamic { 57 static method closure#B#function#function(Vector #contextParameter) → dynamic {
34 return #contextParameter[1]; 58 return #contextParameter[1];
35 } 59 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698