mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 18:50:54 +07:00
lambda: break/continue inside lambda body checks
(cherry picked from commit a290c356e646bb8ad9c097664648ad9033adf2a8)
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
class Test {
|
||||
static interface I {
|
||||
void m();
|
||||
}
|
||||
|
||||
I i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i2 = ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i3 = ()-> {
|
||||
I i_i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i_i2= ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
|
||||
foo:
|
||||
while (true) {
|
||||
if (false) {
|
||||
break;
|
||||
}
|
||||
if (true) {
|
||||
break <error descr="Undefined label: 'l'">l</error>;
|
||||
} else {
|
||||
continue foo;
|
||||
}
|
||||
if (false) {
|
||||
break <error descr="Undefined label: 'l1'">l1</error>;
|
||||
}
|
||||
}
|
||||
};
|
||||
I i4 = ()-> { <error descr="Continue outside of loop">continue;</error> };
|
||||
I i5 = ()-> { <error descr="Break outside switch or loop">break;</error> };
|
||||
|
||||
{
|
||||
l:
|
||||
while (true) {
|
||||
I i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i2 = ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i3 = ()-> {
|
||||
I i_i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i_i2= ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
foo:
|
||||
while (true) {
|
||||
if (false) {
|
||||
break;
|
||||
}
|
||||
if (true) {
|
||||
break <error descr="Undefined label: 'l'">l</error>;
|
||||
} else {
|
||||
continue foo;
|
||||
}
|
||||
if (false) {
|
||||
break <error descr="Undefined label: 'l1'">l1</error>;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
while (true) {
|
||||
I i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i2 = ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i3 = ()-> {
|
||||
I i_i1 = ()-> { continue <error descr="Undefined label: 'l'">l</error>; };
|
||||
I i_i2= ()-> { break <error descr="Undefined label: 'l'">l</error>; };
|
||||
foo:
|
||||
while (true) {
|
||||
if (false) {
|
||||
break;
|
||||
}
|
||||
if (true) {
|
||||
break <error descr="Undefined label: 'l'">l</error>;
|
||||
} else {
|
||||
continue foo;
|
||||
}
|
||||
if (false) {
|
||||
break <error descr="Undefined label: 'l1'">l1</error>;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user