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

Side by Side Diff: tests/kernel/unsorted/try_context_test.dart

Issue 2451623006: Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork." (Closed)
Patch Set: Fix Created 4 years, 1 month 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 file.
4
5 import 'package:expect/expect.dart';
6
7 throwValue(val) => throw val;
8
9 f1() {
10 var a = 0;
11 var b = 0;
12 var c = 0;
13 var d = 0;
14 for (var i = 0; i < 10; i++) {
15 try {
16 for (var j = 0; j < 11; j++) {
17 try {
18 capture() => [i, j, a, b, c, d];
19 throwValue(j == 10 ? "${j}" : j);
20 } on num catch (e) {
21 a += j;
22 b -= e;
23 }
24 }
25 } catch (e) {
26 c++;
27 d += int.parse(e);
28 }
29 }
30 return [a, b, c, d];
31 }
32
33
34 f2() {
35 var a = 0;
36 var b = 0;
37 var c = 0;
38 var d = 0;
39 for (var i = 0; i < 10; i++) {
40 try {
41 for (var j = 0; j < 11; j++) {
42 try {
43 capture() => [i, j, a, b, c, d];
44 throwValue(j == 10 ? "${j}" : j);
45 } on num catch (e) {
46 a += j;
47 b -= e;
48 }
49 }
50 } catch (e) {
51 capture() => e;
52 c++;
53 d += int.parse(e);
54 }
55 }
56 return [a, b, c, d];
57 }
58
59
60 f3() {
61 var a = 0;
62 var b = 0;
63 var c = 0;
64 var d = 0;
65 for (var i = 0; i < 10; i++) {
66 try {
67 for (var j = 0; j < 11; j++) {
68 try {
69 capture() => [i, j, a, b, c, d];
70 throwValue(j == 10 ? "${j}" : j);
71 } on num catch (e) {
72 a += j;
73 b -= e;
74 }
75 }
76 } catch (e) {
77 capture() => e;
78 c++;
79 d += int.parse(e);
80 continue;
81 }
82 }
83 return [a, b, c, d];
84 }
85
86
87 main() {
88 Expect.listEquals([450, -450, 10, 100], f1());
89 Expect.listEquals([450, -450, 10, 100], f2());
90 Expect.listEquals([450, -450, 10, 100], f3());
91 }
OLDNEW
« no previous file with comments | « tests/kernel/unsorted/throw_try_catch_test.dart ('k') | tests/kernel/unsorted/try_finally_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698