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

Unified Diff: tests/compiler/dart2js/closure/data/captured_variable.dart

Issue 2996053002: Test closure data on anonymous local functions (Closed)
Patch Set: Created 3 years, 4 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
« no previous file with comments | « no previous file | tests/compiler/dart2js/equivalence/id_equivalence.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/closure/data/captured_variable.dart
diff --git a/tests/compiler/dart2js/closure/data/captured_variable.dart b/tests/compiler/dart2js/closure/data/captured_variable.dart
index e47acc53fea826d74068c5e1042190abe55bf5c8..7546c25148ba87d50285758a3bf4452bd15608c5 100644
--- a/tests/compiler/dart2js/closure/data/captured_variable.dart
+++ b/tests/compiler/dart2js/closure/data/captured_variable.dart
@@ -2,12 +2,24 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+/*readParameterInAnonymousClosure:*/
+readParameterInAnonymousClosure(/**/ parameter) {
+ return /*captured=[parameter],free=[parameter]*/ () => parameter;
+}
+
/*readParameterInClosure:*/
readParameterInClosure(/**/ parameter) {
/*captured=[parameter],free=[parameter]*/ func() => parameter;
return func;
}
+/*writeParameterInAnonymousClosure:boxed=[parameter],captured=[parameter],requiresBox*/
+writeParameterInAnonymousClosure(/*boxed*/ parameter) {
+ return /*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ () {
+ parameter = 42;
+ };
+}
+
/*writeParameterInClosure:boxed=[parameter],captured=[parameter],requiresBox*/
writeParameterInClosure(/*boxed*/ parameter) {
/*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ func() {
@@ -17,6 +29,12 @@ writeParameterInClosure(/*boxed*/ parameter) {
return func;
}
+/*readLocalInAnonymousClosure:*/
+readLocalInAnonymousClosure(/**/ parameter) {
+ var /**/ local = parameter;
+ return /*captured=[local],free=[local]*/ () => local;
+}
+
/*readLocalInClosure:*/
readLocalInClosure(/**/ parameter) {
var /**/ local = parameter;
@@ -24,6 +42,15 @@ readLocalInClosure(/**/ parameter) {
return func;
}
+/*writeLocalInAnonymousClosure:boxed=[local],captured=[local],requiresBox*/
+writeLocalInAnonymousClosure(/**/ parameter) {
+ // ignore: UNUSED_LOCAL_VARIABLE
+ var /*boxed*/ local = parameter;
+ return /*boxed=[local],captured=[local],free=[box,local]*/ () {
+ local = 42;
+ };
+}
+
/*writeLocalInClosure:boxed=[local],captured=[local],requiresBox*/
writeLocalInClosure(/**/ parameter) {
// ignore: UNUSED_LOCAL_VARIABLE
@@ -36,8 +63,12 @@ writeLocalInClosure(/**/ parameter) {
}
main() {
+ readParameterInAnonymousClosure(null);
readParameterInClosure(null);
+ writeParameterInAnonymousClosure(null);
writeParameterInClosure(null);
+ readLocalInAnonymousClosure(null);
readLocalInClosure(null);
+ writeLocalInAnonymousClosure(null);
writeLocalInClosure(null);
}
« no previous file with comments | « no previous file | tests/compiler/dart2js/equivalence/id_equivalence.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698