|
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 } |