25 lines
691 B
Java
25 lines
691 B
Java
|
/*
|
||
|
* @test /nodynamiccopyright/
|
||
|
* @bug 8206986
|
||
|
* @summary Adding switch expressions
|
||
|
* @compile/fail/ref=BadSwitchExpressionLambda.out -XDrawDiagnostics --enable-preview -source 12 BadSwitchExpressionLambda.java
|
||
|
*/
|
||
|
|
||
|
class BadSwitchExpressionLambda {
|
||
|
|
||
|
interface SAM {
|
||
|
void invoke();
|
||
|
}
|
||
|
|
||
|
public static void m() {}
|
||
|
public static void r(SAM sam) {}
|
||
|
|
||
|
void test(int i) {
|
||
|
SAM sam1 = () -> m(); //ok
|
||
|
SAM sam2 = () -> switch (i) { case 0 -> m(); default -> m(); }; //not ok
|
||
|
r(() -> m()); //ok
|
||
|
r(() -> switch (i) { case 0 -> m(); default -> m(); }); //not ok
|
||
|
return switch (i) { case 0 -> m(); default -> m(); }; //not ok
|
||
|
}
|
||
|
}
|