Tue, 29 Mar 2016 10:48:49 +0000
8143647: Javac compiles method reference that allows results in an IllegalAccessError
Summary: Lambda implementation method synthesized by javac should not mention inaccessible types.
Reviewed-by: mcimadamore
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 * check that unbound constructor reference are not accepted
6 * @compile/fail/ref=MethodReference40.out -XDrawDiagnostics MethodReference40.java
7 */
8 class MethodReference40 {
10 static class Sup {
11 class Inner {
12 Inner(String val) { }
13 }
14 }
16 static class Sub extends Sup {
18 interface SAM { Sup.Inner m(Sub x, String str); }
20 void test() {
21 SAM var = Sub.Inner::new;
22 }
23 }
24 }