| /* |
| * @test /nodynamiccopyright/ |
| * @bug 8175790 |
| * @summary field JCVariableDecl.vartype can't be null after post attribution analysis |
| * @compile/fail/ref=NPEDueToErroneousLambdaTest.out -XDrawDiagnostics NPEDueToErroneousLambdaTest.java |
| */ |
| |
| import java.util.List; |
| import java.util.function.Function; |
| |
| public abstract class NPEDueToErroneousLambdaTest { |
| |
| interface R {} |
| interface A {} |
| interface S {} |
| |
| abstract <I, O> Function<I, O> p(final Function<I, O> function); |
| abstract <I, O> List<O> t(Function<? super I, ? extends O> function); |
| |
| public void f() { |
| t(p(new Function<A, Object>() { |
| public List<Object> apply(A a) throws Exception { |
| return t((Function<R, S>)input -> { |
| return t(p((Function<Boolean, S>) i -> null), null); |
| }); |
| } |
| })); |
| } |
| } |