test/tools/javac/lambda/TargetType33.java

changeset 0
959103a6100f
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * crash when incompatible method reference is found in conditional expression
6 * @compile/fail/ref=TargetType33.out -XDrawDiagnostics TargetType33.java
7 */
8
9 class TargetType33 {
10
11 interface A<X> {
12 X m();
13 }
14
15 void m(A<Integer> a) { }
16 <Z> void m2(A<Z> a) { }
17
18 int intRes(Object o) { return 42; }
19
20 void testMethodRef(boolean flag) {
21 A<Integer> c = flag ? this::intRes : this::intRes;
22 m(flag ? this::intRes : this::intRes);
23 m2(flag ? this::intRes : this::intRes);
24 }
25 }

mercurial