|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * compiler crashes during flow analysis as it fails to report diagnostics during attribution |
|
6 * @compile/fail/ref=TargetType45.out -XDrawDiagnostics TargetType45.java |
|
7 */ |
|
8 class TargetType45 { |
|
9 |
|
10 interface Predicate<X> { |
|
11 boolean apply(X x); |
|
12 } |
|
13 |
|
14 interface Mapper<X, Y> { |
|
15 Y apply(X x); |
|
16 } |
|
17 |
|
18 class Foo<X> { |
|
19 Foo<X> filter(Predicate<? super X> p) { return null; } |
|
20 } |
|
21 |
|
22 static <U, V> Predicate<U> compose(Predicate<? super V> pi, Mapper<? super U, ? extends V> m) { return null; } |
|
23 |
|
24 static Predicate<Integer> isOdd = i -> i % 2 != 0; |
|
25 |
|
26 void top10Counties(Foo<String> foos) { |
|
27 foos.filter(compose(isOdd, (String e) -> e.length())); |
|
28 } |
|
29 } |