java-topology/test/langtools/tools/javac/lambda/methodReference/MethodRefStuck8249261.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

30 lines
873 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8249261
* @summary Verify method references as conditions to conditional expressions
* are handled properly.
* @compile/fail/ref=MethodRefStuck8249261.out -XDrawDiagnostics MethodRefStuck8249261.java
*/
class MethodRefStuck8249261 {
void p(int padding) {}
static boolean t() {
return true;
}
private void test() {
p(MethodRefStuck8249261::t);
p((MethodRefStuck8249261::t));
p(MethodRefStuck8249261::t + 1);
p(MethodRefStuck8249261::t ? 1 : 0);
p(true ? MethodRefStuck8249261::t : 0);
p(switch (MethodRefStuck8249261::t) { default -> 0; });
p(() -> true);
p((() -> true));
p((() -> true) + 1);
p((() -> true) ? 1 : 0);
p(true ? (() -> true) : 0);
p(switch ((() -> true)) { default -> 0; });
}
}