Thu, 07 Mar 2013 10:04:28 +0000
8009138: javac, equals-hashCode warning tuning
Reviewed-by: mcimadamore
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 8003280 |
aoqi@0 | 4 | * @summary Add lambda tests |
aoqi@0 | 5 | * crash when incompatible method reference is found in conditional expression |
aoqi@0 | 6 | * @compile/fail/ref=TargetType33.out -XDrawDiagnostics TargetType33.java |
aoqi@0 | 7 | */ |
aoqi@0 | 8 | |
aoqi@0 | 9 | class TargetType33 { |
aoqi@0 | 10 | |
aoqi@0 | 11 | interface A<X> { |
aoqi@0 | 12 | X m(); |
aoqi@0 | 13 | } |
aoqi@0 | 14 | |
aoqi@0 | 15 | void m(A<Integer> a) { } |
aoqi@0 | 16 | <Z> void m2(A<Z> a) { } |
aoqi@0 | 17 | |
aoqi@0 | 18 | int intRes(Object o) { return 42; } |
aoqi@0 | 19 | |
aoqi@0 | 20 | void testMethodRef(boolean flag) { |
aoqi@0 | 21 | A<Integer> c = flag ? this::intRes : this::intRes; |
aoqi@0 | 22 | m(flag ? this::intRes : this::intRes); |
aoqi@0 | 23 | m2(flag ? this::intRes : this::intRes); |
aoqi@0 | 24 | } |
aoqi@0 | 25 | } |