test/tools/javac/lambda/TargetType45.java

Sat, 17 Nov 2012 19:01:03 +0000

author
mcimadamore
date
Sat, 17 Nov 2012 19:01:03 +0000
changeset 1415
01c9d4161882
child 1510
7873d37f5b37
permissions
-rw-r--r--

8003280: Add lambda tests
Summary: Turn on lambda expression, method reference and default method support
Reviewed-by: jjg

     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 {
    10     interface Predicate<X> {
    11         boolean apply(X x);
    12     }
    14     interface Mapper<X, Y> {
    15         Y apply(X x);
    16     }
    18     class Foo<X> {
    19         Foo<X> filter(Predicate<? super X> p) { return null; }
    20     }
    22     static <U, V> Predicate<U> compose(Predicate<? super V> pi, Mapper<? super U, ? extends V> m) { return null; }
    24     static Predicate<Integer> isOdd = i -> i % 2 != 0;
    26     void top10Counties(Foo<String> foos) {
    27         foos.filter(compose(isOdd, (String e) -> e.length()));
    28     }
    29 }

mercurial