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
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 8003280 |
aoqi@0 | 4 | * @summary Add lambda tests |
aoqi@0 | 5 | * check that target type of a method ref is a SAM type |
aoqi@0 | 6 | * @author Maurizio Cimadamore |
aoqi@0 | 7 | * @compile/fail/ref=MethodReference04.out -XDrawDiagnostics MethodReference04.java |
aoqi@0 | 8 | */ |
aoqi@0 | 9 | |
aoqi@0 | 10 | class MethodReference04 { |
aoqi@0 | 11 | void m(Integer i) {} |
aoqi@0 | 12 | |
aoqi@0 | 13 | Object o = this::m; //fail - not a valid target type |
aoqi@0 | 14 | } |