| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8206986 |
| * @summary Adding switch expressions |
| * @compile/fail/ref=BadSwitchExpressionLambda.out -XDrawDiagnostics 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 |
| } |
| } |