report 'break' and 'continue' inside 'when' as errors (even if 'when' is nested in a loop)
This commit is contained in:
committed by
Andrey Breslav
parent
8ab12e217d
commit
252c4118eb
@@ -0,0 +1,55 @@
|
||||
fun breakContinueInWhen(i: Int) {
|
||||
for (y in 0..10) {
|
||||
when(i) {
|
||||
0 -> <!BREAK_OR_CONTINUE_IN_WHEN!>continue<!>
|
||||
1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>break<!>
|
||||
2 -> {
|
||||
for(z in 0..10) {
|
||||
break
|
||||
}
|
||||
for(w in 0..10) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun breakContinueInWhenWithWhile(i: Int, j: Int) {
|
||||
while (i > 0) {
|
||||
when (i) {
|
||||
0 -> <!BREAK_OR_CONTINUE_IN_WHEN!>continue<!>
|
||||
1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>break<!>
|
||||
2 -> {
|
||||
while (j > 0) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun breakContinueInWhenWithDoWhile(i: Int, j: Int) {
|
||||
do {
|
||||
when (i) {
|
||||
0 -> <!BREAK_OR_CONTINUE_IN_WHEN!>continue<!>
|
||||
1 -> <!BREAK_OR_CONTINUE_IN_WHEN!>break<!>
|
||||
2 -> {
|
||||
do {
|
||||
if (j == 5) break
|
||||
if (j == 10) continue
|
||||
} while (j > 0)
|
||||
}
|
||||
}
|
||||
} while (i > 0)
|
||||
}
|
||||
|
||||
fun labeledBreakContinue(i: Int) {
|
||||
@outer for (y in 0..10) {
|
||||
when (i) {
|
||||
0 -> continue@outer
|
||||
1 -> break@outer
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user