test/tools/javac/lambda/T8038182/CrashFunctionDescriptorExceptionTest.java

Tue, 29 Mar 2016 10:48:49 +0000

author
dbuck
date
Tue, 29 Mar 2016 10:48:49 +0000
changeset 3102
e74dd6df4d4c
parent 0
959103a6100f
permissions
-rw-r--r--

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 8038182
     4  * @summary javac crash with FunctionDescriptorLookupError for invalid functional interface
     5  * @compile/fail/ref=CrashFunctionDescriptorExceptionTest.out -XDrawDiagnostics CrashFunctionDescriptorExceptionTest.java
     6  */
     8 class CrashFunctionDescriptorExceptionTest {
    10     @SuppressWarnings("unchecked")
    11     void m () {
    12         bar((B b) -> {});
    13     }
    15     <E extends A<E>> void bar(I<E> i) {}
    17     class A<E> {}
    19     class B<E> extends A<E> {}
    21     interface I<E extends A<E>> {
    22         void foo(E e);
    23     }
    24 }

mercurial