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 recovery of speculative types is not attempted if receiver is erroneous
6 * @compile/fail/ref=BadRecovery.out -XDrawDiagnostics BadRecovery.java
7 */
8 class BadRecovery {
10 interface SAM1 {
11 void m(Object o);
12 }
14 void m(SAM1 m) { };
16 void test() {
17 m((receiver, t) -> { receiver.someMemberOfReceiver(()->{ Object x = f; }); });
18 }
19 }