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

Unified Diff: pkg/kernel/testcases/closures/capture_this.dart.expect

Issue 2778223002: Add primitive to create closures and use it for closure conversion (Closed)
Patch Set: Follow common pattern for AST nodes with References in ClosureCreation Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: pkg/kernel/testcases/closures/capture_this.dart.expect
diff --git a/pkg/kernel/testcases/closures/capture_this.dart.expect b/pkg/kernel/testcases/closures/capture_this.dart.expect
index 44563687ee31e5e627ba2a3d1e93f9af47123eeb..6319bfd17f163693b5eaa5415afc608d58efe7d6 100644
--- a/pkg/kernel/testcases/closures/capture_this.dart.expect
+++ b/pkg/kernel/testcases/closures/capture_this.dart.expect
@@ -10,48 +10,12 @@ class C extends core::Object {
method m() → dynamic {
final Vector #context = MakeVector(2);
#context[1] = this;
- return new self::Closure#C#m#function::•(#context);
+ return MakeClosure<(dynamic) → dynamic>(self::closure#C#m#function, #context);
}
method f() → dynamic {
final Vector #context = MakeVector(2);
#context[1] = this;
- return new self::Closure#C#f#function::•(#context);
- }
-}
-class Closure#C#m#function extends core::Object implements core::Function {
- field core::String note = "This is temporary. The VM doesn't need closure classes.";
- field Vector context;
- constructor •(final Vector context) → dynamic
- : self::Closure#C#m#function::context = context
- ;
- method call(dynamic v) → dynamic {
- "This is a temporary solution. In the VM, this will become an additional parameter.";
- final Vector #contextParameter = this.{self::Closure#C#m#function::context};
- return (#contextParameter[1]).x = v;
- }
-}
-class Closure#C#f#function#function extends core::Object implements core::Function {
- field core::String note = "This is temporary. The VM doesn't need closure classes.";
- field Vector context;
- constructor •(final Vector context) → dynamic
- : self::Closure#C#f#function#function::context = context
- ;
- method call() → dynamic {
- "This is a temporary solution. In the VM, this will become an additional parameter.";
- final Vector #contextParameter = this.{self::Closure#C#f#function#function::context};
- return (#contextParameter[1]).x;
- }
-}
-class Closure#C#f#function extends core::Object implements core::Function {
- field core::String note = "This is temporary. The VM doesn't need closure classes.";
- field Vector context;
- constructor •(final Vector context) → dynamic
- : self::Closure#C#f#function::context = context
- ;
- method call() → dynamic {
- "This is a temporary solution. In the VM, this will become an additional parameter.";
- final Vector #contextParameter = this.{self::Closure#C#f#function::context};
- return new self::Closure#C#f#function#function::•(#contextParameter);
+ return MakeClosure<() → dynamic>(self::closure#C#f#function, #context);
}
}
static method main() → dynamic {
@@ -64,3 +28,12 @@ static method main() → dynamic {
if(!42.==(result))
throw "Unexpected value from c.f()()(): ${result}";
}
+static method closure#C#m#function(Vector #contextParameter, dynamic v) → dynamic {
+ return (#contextParameter[1]).x = v;
+}
+static method closure#C#f#function#function(Vector #contextParameter) → dynamic {
+ return (#contextParameter[1]).x;
+}
+static method closure#C#f#function(Vector #contextParameter) → dynamic {
+ return MakeClosure<() → dynamic>(self::closure#C#f#function#function, #contextParameter);
+}
« no previous file with comments | « pkg/kernel/testcases/closures/capture_closure_parameter.dart.expect ('k') | pkg/kernel/testcases/closures/catch.dart.expect » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698