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 lambda features are not enabled with source < 8
6 * @compile/fail/ref=SourceLevelTest.out -XDrawDiagnostics -source 7 SourceLevelTest.java
7 */
9 class SourceLevelTest {
10 interface I {
11 default void m() { SourceLevelTest.impl(this); }
12 }
14 interface SAM {
15 void m();
16 }
18 SAM s1 = () -> { };
19 SAM s2 = this::m;
21 static void impl(I i) {}
22 void m() {}
23 }