Wed, 23 Oct 2013 07:50:04 +0200
8026861: Wrong LineNumberTable for variable declarations in lambdas
Summary: Setting or correcting positions for many trees produced by LambdaToMethod.
Reviewed-by: vromero, rfield
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 */
9 class TargetType33 {
11 interface A<X> {
12 X m();
13 }
15 void m(A<Integer> a) { }
16 <Z> void m2(A<Z> a) { }
18 int intRes(Object o) { return 42; }
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 }