langtools/test/tools/javac/lambda/T8038182/CrashFunctionDescriptorExceptionTest.java
author vromero
Thu, 19 Jun 2014 15:39:37 +0100
changeset 25273 87443756f3ac
permissions -rw-r--r--
8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface Reviewed-by: mcimadamore Contributed-by: maurizio.cimadamore@oracle.com, vicente.romero@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25273
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     1
/*
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     3
 * @bug 8038182
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     4
 * @summary javac crash with FunctionDescriptorLookupError for invalid functional interface
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     5
 * @compile/fail/ref=CrashFunctionDescriptorExceptionTest.out -XDrawDiagnostics CrashFunctionDescriptorExceptionTest.java
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     6
 */
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     7
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     8
class CrashFunctionDescriptorExceptionTest {
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
     9
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    10
    @SuppressWarnings("unchecked")
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    11
    void m () {
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    12
        bar((B b) -> {});
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    13
    }
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    14
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    15
    <E extends A<E>> void bar(I<E> i) {}
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    16
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    17
    class A<E> {}
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    18
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    19
    class B<E> extends A<E> {}
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    20
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    21
    interface I<E extends A<E>> {
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    22
        void foo(E e);
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    23
    }
87443756f3ac 8038182: javac crash with FunctionDescriptorLookupError for invalid functional interface
vromero
parents:
diff changeset
    24
}