| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8206986 |
| * @summary Verify reachability in switch expressions. |
| * @compile/fail/ref=ExpressionSwitchUnreachable.out -XDrawDiagnostics ExpressionSwitchUnreachable.java |
| */ |
| |
| public class ExpressionSwitchUnreachable { |
| |
| public static void meth() { |
| int z = 42; |
| int i = switch (z) { |
| case 0 -> { |
| yield 42; |
| System.out.println("Unreachable"); //Unreachable |
| } |
| default -> 0; |
| }; |
| i = switch (z) { |
| case 0 -> { |
| yield 42; |
| yield 42; //Unreachable |
| } |
| default -> 0; |
| }; |
| i = switch (z) { |
| case 0: |
| System.out.println("0"); |
| yield 42; |
| System.out.println("1"); //Unreachable |
| default : yield 42; |
| }; |
| i = switch (z) { |
| case 0 -> 42; |
| default -> { |
| yield 42; |
| System.out.println("Unreachable"); //Unreachable |
| } |
| }; |
| i = switch (z) { |
| case 0: yield 42; |
| default: |
| System.out.println("0"); |
| yield 42; |
| System.out.println("1"); //Unreachable |
| }; |
| i = switch (z) { |
| case 0: |
| default: |
| System.out.println("0"); |
| yield 42; |
| System.out.println("1"); //Unreachable |
| }; |
| } |
| |
| |
| } |