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

Side by Side Diff: tests/compiler/dart2js/closure/data/captured_variable.dart

Issue 2998113002: Reduce use of getClosureInfoForMember and cleanup closure_test (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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /*readParameterInAnonymousClosure:*/ 5 /*readParameterInAnonymousClosure:*/
6 readParameterInAnonymousClosure(/**/ parameter) { 6 readParameterInAnonymousClosure(/**/ parameter) {
7 return /*captured=[parameter],free=[parameter]*/ () => parameter; 7 return /*captured=[parameter],free=[parameter]*/ () => parameter;
8 } 8 }
9 9
10 /*readParameterInClosure:*/ 10 /*readParameterInClosure:*/
11 readParameterInClosure(/**/ parameter) { 11 readParameterInClosure(/**/ parameter) {
12 /*captured=[parameter],free=[parameter]*/ func() => parameter; 12 /*captured=[parameter],free=[parameter]*/ func() => parameter;
13 return func; 13 return func;
14 } 14 }
15 15
16 /*writeParameterInAnonymousClosure:boxed=[parameter],captured=[parameter],requir esBox*/ 16 /*writeParameterInAnonymousClosure:boxed=[parameter],requiresBox*/
17 writeParameterInAnonymousClosure(/*boxed*/ parameter) { 17 writeParameterInAnonymousClosure(/*boxed*/ parameter) {
18 return /*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ () { 18 return /*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ () {
19 parameter = 42; 19 parameter = 42;
20 }; 20 };
21 } 21 }
22 22
23 /*writeParameterInClosure:boxed=[parameter],captured=[parameter],requiresBox*/ 23 /*writeParameterInClosure:boxed=[parameter],requiresBox*/
24 writeParameterInClosure(/*boxed*/ parameter) { 24 writeParameterInClosure(/*boxed*/ parameter) {
25 /*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ func() { 25 /*boxed=[parameter],captured=[parameter],free=[box,parameter]*/ func() {
26 parameter = 42; 26 parameter = 42;
27 } 27 }
28 28
29 return func; 29 return func;
30 } 30 }
31 31
32 /*readLocalInAnonymousClosure:*/ 32 /*readLocalInAnonymousClosure:*/
33 readLocalInAnonymousClosure(/**/ parameter) { 33 readLocalInAnonymousClosure(/**/ parameter) {
34 var /**/ local = parameter; 34 var /**/ local = parameter;
35 return /*captured=[local],free=[local]*/ () => local; 35 return /*captured=[local],free=[local]*/ () => local;
36 } 36 }
37 37
38 /*readLocalInClosure:*/ 38 /*readLocalInClosure:*/
39 readLocalInClosure(/**/ parameter) { 39 readLocalInClosure(/**/ parameter) {
40 var /**/ local = parameter; 40 var /**/ local = parameter;
41 /*captured=[local],free=[local]*/ func() => local; 41 /*captured=[local],free=[local]*/ func() => local;
42 return func; 42 return func;
43 } 43 }
44 44
45 /*writeLocalInAnonymousClosure:boxed=[local],captured=[local],requiresBox*/ 45 /*writeLocalInAnonymousClosure:boxed=[local],requiresBox*/
46 writeLocalInAnonymousClosure(/**/ parameter) { 46 writeLocalInAnonymousClosure(/**/ parameter) {
47 // ignore: UNUSED_LOCAL_VARIABLE 47 // ignore: UNUSED_LOCAL_VARIABLE
48 var /*boxed*/ local = parameter; 48 var /*boxed*/ local = parameter;
49 return /*boxed=[local],captured=[local],free=[box,local]*/ () { 49 return /*boxed=[local],captured=[local],free=[box,local]*/ () {
50 local = 42; 50 local = 42;
51 }; 51 };
52 } 52 }
53 53
54 /*writeLocalInClosure:boxed=[local],captured=[local],requiresBox*/ 54 /*writeLocalInClosure:boxed=[local],requiresBox*/
Emily Fortuna 2017/08/22 20:46:17 I'm confused why these get removed now?
Johnni Winther 2017/08/23 07:32:21 Because I'm no longer using .getClosureInfoForMemb
55 writeLocalInClosure(/**/ parameter) { 55 writeLocalInClosure(/**/ parameter) {
56 // ignore: UNUSED_LOCAL_VARIABLE 56 // ignore: UNUSED_LOCAL_VARIABLE
57 var /*boxed*/ local = parameter; 57 var /*boxed*/ local = parameter;
58 /*boxed=[local],captured=[local],free=[box,local]*/ func() { 58 /*boxed=[local],captured=[local],free=[box,local]*/ func() {
59 local = 42; 59 local = 42;
60 } 60 }
61 61
62 return func; 62 return func;
63 } 63 }
64 64
65 main() { 65 main() {
66 readParameterInAnonymousClosure(null); 66 readParameterInAnonymousClosure(null);
67 readParameterInClosure(null); 67 readParameterInClosure(null);
68 writeParameterInAnonymousClosure(null); 68 writeParameterInAnonymousClosure(null);
69 writeParameterInClosure(null); 69 writeParameterInClosure(null);
70 readLocalInAnonymousClosure(null); 70 readLocalInAnonymousClosure(null);
71 readLocalInClosure(null); 71 readLocalInClosure(null);
72 writeLocalInAnonymousClosure(null); 72 writeLocalInAnonymousClosure(null);
73 writeLocalInClosure(null); 73 writeLocalInClosure(null);
74 } 74 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/closure/closure_test.dart ('k') | tests/compiler/dart2js/equivalence/id_equivalence_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698