java-topology/test/langtools/tools/javac/lambda/BadBreakContinue.java
russell@unturf.com 0a580b313d undefect. CWE-407 — 63 sites patched across 27 ecosystems
Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com

Patches, unit tests, benchmarks, whitepaper, and outreach briefs.
Public domain — no copyright claimed. Use freely.
2026-03-26 17:11:57 -04:00

44 lines
1.1 KiB
Java

/*
* @test /nodynamiccopyright/
* @bug 8003280
* @summary Add lambda tests
* check that break/continue is disallowed in lambda expressions
* @author Maurizio Cimadamore
* @compile/fail/ref=BadBreakContinue.out -XDrawDiagnostics BadBreakContinue.java
*/
class BadBreakContinue {
static interface SAM {
void m();
}
SAM s1 = ()-> { break; };
SAM s2 = ()-> { continue; };
SAM s3 = ()-> {
SAM s3_1 = ()-> { break; };
SAM s3_2 = ()-> { continue; };
};
void testLabelled() {
loop: while (true) {
SAM s1 = ()-> { break loop; };
SAM s2 = ()-> { continue loop; };
SAM s3 = ()-> {
SAM s3_1 = ()-> { break loop; };
SAM s3_2 = ()-> { continue loop; };
};
}
}
void testNonLabelled() {
while (true) {
SAM s1 = ()-> { break; };
SAM s2 = ()-> { continue; };
SAM s3 = ()-> {
SAM s3_1 = ()-> { break; };
SAM s3_2 = ()-> { continue; };
};
}
}
}