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 * compiler doesn't report accessibility problem due to inaccessible target
6 * @compile/fail/ref=TargetType46.out -XDrawDiagnostics TargetType46.java
7 */
8 import java.util.*;
10 class TargetType46Outer {
12 private interface PI {
13 void m();
14 }
16 void m(PI p) { }
17 void m(List<PI> p) { }
18 }
20 class TargetType46 {
21 void test(TargetType46Outer outer) {
22 outer.m(()->{}); //access error
23 outer.m(this::g); //access error
24 outer.m(new ArrayList<>()); //ok
25 outer.m(Collections.emptyList()); //ok
26 }
28 void g() { }
29 }