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

Unified Diff: frog/tests/leg_only/src/BreakTest.dart

Issue 9601009: Change labeled statement to use visitSubGraph for its body instead of marking its "exit block" spec… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address review comment. add more tests. 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 side-by-side diff with in-line comments
Download patch
Index: frog/tests/leg_only/src/BreakTest.dart
diff --git a/frog/tests/leg_only/src/BreakTest.dart b/frog/tests/leg_only/src/BreakTest.dart
index 1ffddda04fed780aa05e0ac1a9b112592ec7c55f..34895a1b6cc5ef00df8d930eee05a0c8ab81ea3a 100644
--- a/frog/tests/leg_only/src/BreakTest.dart
+++ b/frog/tests/leg_only/src/BreakTest.dart
@@ -99,6 +99,30 @@ obscureBreaks(x) {
return result;
}
+ifBreaks(x, y) {
+ int res = 2;
+ foo: if (x == 1) bar: {
+ if (y == 2) {
+ res = 4;
+ break foo;
+ } else if (y == 3) {
+ res = 5;
+ break bar;
+ }
+ res = 3;
+ } else baz: {
+ if (y == 2) {
+ res = 7;
+ break foo;
+ } else if (y == 3) {
+ res = 8;
+ break baz;
+ }
+ res = 6;
+ }
ngeoffray 2012/03/06 11:17:37 indentation is still off :)
Lasse Reichstein Nielsen 2012/03/08 09:02:02 That's actually deliberate, because I indent relat
+ return res;
+}
+
main() {
break1(2, 3, 2, 1);
break1(2, 4, 3, 1);
@@ -117,4 +141,10 @@ main() {
Expect.isTrue(obscureBreaks(3), "3");
Expect.isTrue(obscureBreaks(4), "4");
Expect.isFalse(obscureBreaks(5), "5");
-}
+ Expect.equals(3, ifBreaks(1, 4));
+ Expect.equals(4, ifBreaks(1, 2));
+ Expect.equals(5, ifBreaks(1, 3));
+ Expect.equals(6, ifBreaks(2, 4));
+ Expect.equals(7, ifBreaks(2, 2));
+ Expect.equals(8, ifBreaks(2, 3));
+}

Powered by Google App Engine
This is Rietveld 408576698