1 /*
2  * @test /nodynamiccopyright/
3  * @bug 8206986
4  * @summary Verify the type of a conditional expression with nested switch expression is computed properly
5  * @compile/fail/ref=BooleanNumericNonNumeric.out -XDrawDiagnostics BooleanNumericNonNumeric.java
6  */
7 
8 public class BooleanNumericNonNumeric {
9 
test(boolean b, int i)10     private void test(boolean b, int i) {
11         int r1 = 1 + (b ? switch (i) { //boolean, error
12             default -> true;
13         } : false);
14         int r2 = 1 + (b ? switch (i) { //int, ok
15             default -> 0;
16         } : 1);
17         (b ? switch (i) { //int, error
18             default -> 0;
19         } : 1).toString();
20         (b ? switch (i) { //"object", ok
21             case 0 -> true;
22             default -> 0;
23         } : 1).toString();
24     }
25 
26 }
27