equal
deleted
inserted
replaced
|
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 |
|
8 import java.util.List; |
|
9 import java.util.function.Function; |
|
10 |
|
11 public 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 } |