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 * @summary check that merged inherited descriptors preservers type-parameters
4 * @compile/fail/ref=LambdaConv25.out -XDrawDiagnostics LambdaConv25.java
5 */
6 class LambdaConv25 {
8 interface A {
9 <X> void m();
10 }
12 interface B {
13 <X> void m();
14 }
16 interface C extends A, B { }
18 void test() {
19 C c = ()->{}; //should fail
20 }
21 }