Index: tests/language/label_test.dart |
diff --git a/tests/language/label_test.dart b/tests/language/label_test.dart |
index 2d524e154c657b16d74777acb17d02cd320862c1..3c7cd77241d6330f79b28404fa025b8a7402eac2 100644 |
--- a/tests/language/label_test.dart |
+++ b/tests/language/label_test.dart |
@@ -5,9 +5,7 @@ |
import "package:expect/expect.dart"; |
- |
class Helper { |
- |
static int ticks; |
// Helper function to prevent endless loops in case labels or |
@@ -33,7 +31,9 @@ class Helper { |
static test2() { |
// Make sure we break out to default label. |
var i = 1; |
- L: while (doAgain()) { // unused label |
+ L: |
+ while (doAgain()) { |
+ // unused label |
if (i > 0) break; |
return 0; |
} |
@@ -43,7 +43,8 @@ class Helper { |
static test3() { |
// Make sure we break out of outer loop. |
var i = 1; |
- L: while (doAgain()) { |
+ L: |
+ while (doAgain()) { |
while (doAgain()) { |
if (i > 0) break L; |
return 0; |
@@ -56,7 +57,9 @@ class Helper { |
static test4() { |
// Make sure we break out of inner loop. |
var i = 100; |
- L: while (doAgain()) { // unused label |
+ L: |
+ while (doAgain()) { |
+ // unused label |
while (doAgain()) { |
if (i > 0) break; |
return 0; |
@@ -79,14 +82,18 @@ class Helper { |
static test6() { |
// Make sure we jump to loop condition. |
- L: for (int i = 10; i > 0; i--) { // unreferenced label, should warn |
+ L: |
+ for (int i = 10; i > 0; i--) { |
+ // unreferenced label, should warn |
if (true) continue; // without the if the following return is dead code. |
return 0; |
} |
// Make sure this L does not conflict with previous L. |
var k = 20; |
- L: while (doAgain()) { |
- L0: while (doAgain()) break L; // unreferenced label L0, should warn |
+ L: |
+ while (doAgain()) { |
+ L0: |
+ while (doAgain()) break L; // unreferenced label L0, should warn |
return 1; |
} |
return 111; |
@@ -95,8 +102,10 @@ class Helper { |
static test7() { |
// Just weird stuff. |
var i = 10; |
- L: do { |
- L: while (doAgain()) { |
+ L: |
+ do { |
+ L: |
+ while (doAgain()) { |
if (true) break L; // without the if the following line is dead code. |
continue L; |
} |
@@ -107,7 +116,8 @@ class Helper { |
} |
static test8() { |
- L: while (false) { |
+ L: |
+ while (false) { |
var L = 33; // OK, shouldn't collide with label. |
if (true) break L; |
} |
@@ -116,16 +126,20 @@ class Helper { |
static test9() { |
var i = 111; |
- L1: if (i == 0) { // unreferenced label, should warn |
+ L1: |
+ if (i == 0) { |
+ // unreferenced label, should warn |
return 0; |
} |
- L2: while (i == 0) { // unreferenced label, should warn |
+ L2: |
+ while (i == 0) { |
+ // unreferenced label, should warn |
return 0; |
} |
L3: // useless label, should warn |
- return i; |
+ return i; |
} |
// Labels should be allowed on block/if/for/switch/while/do stmts. |
@@ -133,7 +147,8 @@ class Helper { |
int i = 111; |
// block |
while (doAgain()) { |
- L: { |
+ L: |
+ { |
while (doAgain()) { |
break L; |
} |
@@ -143,9 +158,10 @@ class Helper { |
} |
Expect.equals(111, i); |
- while(doAgain()) { |
- L: if (doAgain()) { |
- while(doAgain()) { |
+ while (doAgain()) { |
+ L: |
+ if (doAgain()) { |
+ while (doAgain()) { |
break L; |
} |
i--; |
@@ -154,8 +170,9 @@ class Helper { |
} |
Expect.equals(111, i); |
- while(doAgain()) { |
- L: for (;doAgain();) { |
+ while (doAgain()) { |
+ L: |
+ for (; doAgain();) { |
while (doAgain()) { |
break L; |
} |
@@ -165,40 +182,44 @@ class Helper { |
} |
Expect.equals(111, i); |
- L: for (i in [111]) { |
- while(doAgain()) { |
- break L; |
- } |
- i--; |
- break; |
+ L: |
+ for (i in [111]) { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ break; |
} |
Expect.equals(111, i); |
- L: for (var j in [111]) { |
- while(doAgain()) { |
- break L; |
- } |
- i--; |
+ L: |
+ for (var j in [111]) { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
break; |
} |
Expect.equals(111, i); |
- while(doAgain()) { |
- L: switch (i) { |
+ while (doAgain()) { |
+ L: |
+ switch (i) { |
case 111: |
- while(doAgain()) { |
- break L; |
- } |
+ while (doAgain()) { |
+ break L; |
+ } |
default: |
- i--; |
+ i--; |
} |
break; |
} |
Expect.equals(111, i); |
- while(doAgain()) { |
- L: do { |
- while(doAgain()) { |
+ while (doAgain()) { |
+ L: |
+ do { |
+ while (doAgain()) { |
break L; |
} |
i--; |
@@ -207,14 +228,14 @@ class Helper { |
} |
Expect.equals(111, i); |
- while(doAgain()) { |
- L: try { |
- while(doAgain()) { |
+ while (doAgain()) { |
+ L: |
+ try { |
+ while (doAgain()) { |
break L; |
} |
i--; |
- } finally { |
- } |
+ } finally {} |
break; |
} |
Expect.equals(111, i); |
@@ -222,77 +243,89 @@ class Helper { |
return i; |
} |
- static test11() { |
- // Kind of odd, but is valid and shouldn't be flagged as useless either. |
- L: break L; |
- return 111; |
- } |
- |
- static test12() { |
- int i = 111; |
- |
- // label the inner block on compound stmts |
- if (true) L: { |
- while (doAgain()) { |
- break L; |
- } |
- i--; |
- } |
- Expect.equals(111, i); |
- |
- // loop will execute each time, but won't execute code below the break |
- var forCount = 0; |
- for (forCount = 0 ; forCount < 2 ; forCount++) L: { |
- while(doAgain()) { |
- break L; |
- } |
- i--; |
- break; |
- } |
- Expect.equals(111, i); |
- Expect.equals(forCount, 2); |
- |
- for (i in [111]) L: { |
- while(doAgain()) { |
- break L; |
- } |
- i--; |
- break; |
- } |
- Expect.equals(111, i); |
- |
- for (var j in [111]) L: { |
- while(doAgain()) { |
- break L; |
- } |
- i--; |
- break; |
- } |
- Expect.equals(111, i); |
- |
- if (false) { |
- } else L: { |
- while (doAgain()) { |
- break L; |
- } |
- i--; |
- } |
- Expect.equals(111, i); |
- |
- int whileCount = 0; |
- while (whileCount < 2) L: { |
+ static test11() { |
+ // Kind of odd, but is valid and shouldn't be flagged as useless either. |
+ L: |
+ break L; |
+ return 111; |
+ } |
+ |
+ static test12() { |
+ int i = 111; |
+ |
+ // label the inner block on compound stmts |
+ if (true) |
+ L: |
+ { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ } |
+ Expect.equals(111, i); |
+ |
+ // loop will execute each time, but won't execute code below the break |
+ var forCount = 0; |
+ for (forCount = 0; forCount < 2; forCount++) |
+ L: |
+ { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ break; |
+ } |
+ Expect.equals(111, i); |
+ Expect.equals(forCount, 2); |
+ |
+ for (i in [111]) |
+ L: |
+ { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ break; |
+ } |
+ Expect.equals(111, i); |
+ |
+ for (var j in [111]) |
+ L: |
+ { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ break; |
+ } |
+ Expect.equals(111, i); |
+ |
+ if (false) {} else |
+ L: |
+ { |
+ while (doAgain()) { |
+ break L; |
+ } |
+ i--; |
+ } |
+ Expect.equals(111, i); |
+ |
+ int whileCount = 0; |
+ while (whileCount < 2) |
+ L: |
+ { |
whileCount++; |
- while(doAgain()) { |
- break L; |
+ while (doAgain()) { |
+ break L; |
} |
i--; |
break; |
- } |
- Expect.equals(111, i); |
- Expect.equals(2, whileCount); |
+ } |
+ Expect.equals(111, i); |
+ Expect.equals(2, whileCount); |
- return i; |
- } |
+ return i; |
+ } |
} |
class LabelTest { |