test/tools/javac/lambda/TargetType45.java

Wed, 27 Apr 2016 01:34:52 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:34:52 +0800
changeset 0
959103a6100f
child 2525
2eb010b6cb22
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/
changeset: 2573:53ca196be1ae
tag: jdk8u25-b17

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

mercurial