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

Side by Side Diff: pkg/kernel/testcases/closures/for_loop.dart

Issue 2561723003: Merge kernel closure conversion into the Dart SDK (Closed)
Patch Set: Remove path constraint Created 4 years 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
(Empty)
1 // Copyright (c) 2016, 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.md file.
4
5 const int max = 100;
6
7 main() {
8 var closures = [];
9 var closures2 = [];
10 var last;
11 for (int i = 0; i < max; i++) {
12 closures.add(() => last = i);
13 closures2.add(() {
14 if (last != max - 1) throw "last: $last != ${max - 1}";
15 });
16 }
17 int sum = 0;
18 for (Function f in closures) {
19 sum += f();
20 }
21 for (Function f in closures2) {
22 f();
23 }
24 // This formula is credited to Gauss. Search for "Gauss adding 1 to 100".
25 int expectedSum = (max - 1) * max ~/ 2;
26 if (expectedSum != sum) {
27 throw new Exception("Unexpected sum = $sum != $expectedSum");
28 }
29 }
OLDNEW
« no previous file with comments | « pkg/kernel/testcases/closures/for_in_closure.dart.expect ('k') | pkg/kernel/testcases/closures/for_loop.dart.expect » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698