1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
/*
* @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; });
}
}
|