Thu, 26 Mar 2015 11:34:50 +0100
8054220: Debugger doesn't show variables *outside* lambda
8058227: Debugger has no access to outer variables inside Lambda
Summary: Put local variables captured by lambda into the lambda method's LocalVariableTable.
Reviewed-by: mcimadamore, 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 }