NPEDueToErroneousLambdaTest.java revision 4022:18f898e31741
1/*
2 * @test /nodynamiccopyright/
3 * @bug 8175790
4 * @summary field JCVariableDecl.vartype can't be null after post attribution analysis
5 * @compile/fail/ref=NPEDueToErroneousLambdaTest.out -XDrawDiagnostics NPEDueToErroneousLambdaTest.java
6 */
7
8import java.util.List;
9import java.util.function.Function;
10
11public abstract class NPEDueToErroneousLambdaTest {
12
13    interface R {}
14    interface A {}
15    interface S {}
16
17    abstract <I, O> Function<I, O> p(final Function<I, O> function);
18    abstract <I, O> List<O> t(Function<? super I, ? extends O> function);
19
20    public void f() {
21        t(p(new Function<A, Object>() {
22            public List<Object> apply(A a) throws Exception {
23                return t((Function<R, S>)input -> {
24                        return t(p((Function<Boolean, S>) i -> null), null);
25                });
26            }
27        }));
28    }
29}
30