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 | * Test invalid lambda expressions |
aoqi@0 | 6 | * @compile/fail/ref=InvalidExpression1.out -XDrawDiagnostics InvalidExpression1.java |
aoqi@0 | 7 | */ |
aoqi@0 | 8 | |
aoqi@0 | 9 | import java.util.Comparator; |
aoqi@0 | 10 | |
aoqi@0 | 11 | public class InvalidExpression1 { |
aoqi@0 | 12 | |
aoqi@0 | 13 | void test() { |
aoqi@0 | 14 | Comparator<Number> c = (Number n1, Number n2)-> { 42; }; //not a statement |
aoqi@0 | 15 | Comparator<Number> c = (Number n1, Number n2)-> { return 42 }; //";" expected |
aoqi@0 | 16 | } |
aoqi@0 | 17 | } |