test/tools/javac/lambda/TargetType45.java

Wed, 28 Aug 2013 10:17:23 -0700

author
henryjen
date
Wed, 28 Aug 2013 10:17:23 -0700
changeset 1983
7de7100c30ce
parent 1510
7873d37f5b37
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8014566: Remove @ignore tags from MethodReference66 and InInterface when 8013875 is fixed
Reviewed-by: briangoetz, 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 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