class ValueBreaks { static final int ref = -1; void m() { l1: break l1; break; break wtf; break 42; switch (0) { case 0: break 42; case 1: break ref; case 2: break wtf; case 3: ref: break ref; }; sink(switch (0) { case 0 -> { while (true) break 42; } case 1 -> { while (true) break ref; } case 2 -> { while (true) break wtf; } case 3 -> { break ref; } case 4 -> { break wtf; } default -> throw new RuntimeException(); }); ref: sink(switch (0) { default: break ref; }); while (true) { sink(switch (0) { default: break; }); } } private static void sink(Object o) { } }