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

Side by Side Diff: frog/tests/leg_only/src/ClosureCapture3Test.dart

Issue 9359011: Capture this. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed comments and fixed bug. Created 8 years, 10 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 | Annotate | Revision Log
« frog/leg/ssa/closure.dart ('K') | « frog/leg/ssa/closure.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
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
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.
4
5 class Closure {
6 var x;
7 Closure(val) : this.x = val;
8
9 foo() {
10 return fun() {
11 return x;
12 };
13 }
14
15 bar() {
16 return fun() {
17 return toto();
18 };
19 }
20
21 toto() {
22 return x + 1;
23 }
24
25 nestedClosure() {
26 var f = g() { return x; };
27 return fun() { return f() + 2; };
28 }
29 }
30
31 main() {
32 var c = new Closure(499);
33 var f = c.foo();
34 Expect.equals(499, f());
35 Expect.equals(500, c.bar()());
36 Expect.equals(501, c.nestedClosure()());
37 }
OLDNEW
« frog/leg/ssa/closure.dart ('K') | « frog/leg/ssa/closure.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698