Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/switchExpressions/YieldStatements.java
T
Roman Shevchenko 06d3d41999 [java] 'yield' statement: basic highlighting (IDEA-216410)
GitOrigin-RevId: 4edae910f16a27c2a46068c2d8b6fce4674e0571
2019-07-02 06:52:16 +03:00

40 lines
1.2 KiB
Java

class YieldStatements {
void m(int i) {
System.out.println(switch (i) {
case 0: yield "zero";
default: <error descr="Value breaks are superseded by 'yield' statements">break "many";</error>
});
switch (i) {
default: <error descr="Yield outside of switch expression">yield 0;</error>
}
System.out.println(switch (i) {
default:
Runnable r = () -> { <error descr="Yield outside of switch expression">yield 0;</error> };
r.run();
yield 0;
});
System.out.println(switch (i) {
default: switch (i) {
default: yield "0";
}
});
out: while (true) {
System.out.println(switch (i) {
case 0: <error descr="Break outside of enclosing switch expression">break;</error>
case 1: <error descr="Value breaks are superseded by 'yield' statements">break i;</error>
default: <error descr="Break outside of enclosing switch expression">break out;</error>
});
}
System.out.println(switch (i) {
default: yield <error descr="Expression type should not be 'void'">m(0)</error>;
});
int yield = i;
i = switch (i) {
default: yield yield;
};
}
}