b3b644438e
8207405: Compiler Tree API support for Switch Expressions (Preview) Support for switch expression, switch with rules and multiple constants for cases. Reviewed-by: jjg, mcimadamore, vromero
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
|
|
}
|
|
}
|