|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * speculative cache contents are overwritten by deferred type-checking of nested stuck expressions |
|
6 * @compile/fail/ref=MostSpecific07.out -XDrawDiagnostics MostSpecific07.java |
|
7 */ |
|
8 import java.util.*; |
|
9 |
|
10 class MostSpecific07 { |
|
11 |
|
12 interface Predicate<X, Y> { |
|
13 Y accept(X x); |
|
14 } |
|
15 |
|
16 interface VoidMapper { |
|
17 void accept(); |
|
18 } |
|
19 |
|
20 interface ExtPredicate<X, Y> extends Predicate<X, Y> { } |
|
21 |
|
22 void test(boolean cond, ArrayList<String> als, VoidMapper vm) { |
|
23 m(u -> ()->{}, als, als, vm); |
|
24 m((u -> ()->{}), als, als, vm); |
|
25 m(cond ? u -> ()->{} : u -> ()->{}, als, als, vm); |
|
26 } |
|
27 |
|
28 <U, V> U m(Predicate<U, V> p, List<U> lu, ArrayList<U> au, V v) { return null; } |
|
29 |
|
30 <U, V> U m(ExtPredicate<U, V> ep, ArrayList<U> au, List<U> lu, V v) { return null; } |
|
31 } |