test/tools/javac/lambda/TargetType02.java

Mon, 23 Jun 2014 13:14:32 -0700

author
rfield
date
Mon, 23 Jun 2014 13:14:32 -0700
changeset 2528
eb284abd64fe
parent 2370
acd64168cf8b
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8046060: Different results of floating point multiplication for lambda code block
Summary: propogate strictfp into lambda body
Reviewed-by: vromero, jlahoda

mcimadamore@1415 1 /*
vromero@2370 2 * @test /nodynamiccopyright/
vromero@2370 3 * @bug 8003280 8029718
mcimadamore@1415 4 * @summary Add lambda tests
mcimadamore@1415 5 * check overload resolution and target type inference w.r.t. generic methods
vromero@2370 6 * Should always use lambda body structure to disambiguate overload resolution
mcimadamore@1415 7 * @author Maurizio Cimadamore
vromero@2000 8 * @compile/fail/ref=TargetType02.out -XDrawDiagnostics TargetType02.java
mcimadamore@1415 9 */
mcimadamore@1415 10
mcimadamore@1415 11 public class TargetType02 {
mcimadamore@1415 12
mcimadamore@1415 13 interface S1<X extends Number> {
mcimadamore@1415 14 X m(Integer x);
mcimadamore@1415 15 }
mcimadamore@1415 16
mcimadamore@1415 17 interface S2<X extends String> {
mcimadamore@1415 18 abstract X m(Integer x);
mcimadamore@1415 19 }
mcimadamore@1415 20
vromero@2000 21 static <Z extends Number> void call1(S1<Z> s) { }
vromero@2000 22
vromero@2000 23 static <Z extends String> void call2(S2<Z> s) { }
vromero@2000 24
vromero@2000 25 static <Z extends Number> void call3(S1<Z> s) { }
vromero@2000 26 static <Z extends String> void call3(S2<Z> s) { }
mcimadamore@1415 27
vromero@2370 28 static <Z extends Number> Z call4(S1<Z> s) { return null; }
vromero@2370 29 static <Z extends String> Z call4(S2<Z> s) { return null; }
vromero@2370 30
mcimadamore@1415 31 void test() {
vromero@2000 32 call1(i -> { toString(); return i; });
vromero@2000 33 call2(i -> { toString(); return i; });
vromero@2000 34 call3(i -> { toString(); return i; });
vromero@2370 35 call3(i -> {
vromero@2370 36 toString();
vromero@2370 37 return call4(j -> {
vromero@2370 38 return j;
vromero@2370 39 });
vromero@2370 40 });
mcimadamore@1415 41 }
mcimadamore@1415 42 }

mercurial