test/tools/javac/lambda/BadReturn.java

Thu, 21 Feb 2013 15:27:05 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:27:05 +0000
changeset 1600
3fef0cae83b3
parent 0
959103a6100f
permissions
-rw-r--r--

8008444: Inherited generic functional descriptors are merged incorrectly
Summary: Missing call to Types.createMethodWithThrownTypes
Reviewed-by: jjg

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  check that incompatible return types in lambdas are flagged with error
     6  * @author  Maurizio Cimadamore
     7  * @compile/fail/ref=BadReturn.out -XDrawDiagnostics BadReturn.java
     8  */
    10 class BadReturn {
    12     interface SAM {
    13         Comparable<?> m();
    14     }
    16     static void testNeg1() {
    17         SAM s = ()-> {
    18             if (true) {
    19                 return "";
    20             } else {
    21                 return System.out.println("");
    22             }};
    23     }
    25     static void testNeg2() {
    26         SAM s = ()-> { return System.out.println(""); };
    27     }
    29     static void testPos() {
    30         SAM s = ()-> {
    31             if (false) {
    32                 return 10;
    33             }
    34             else {
    35                 return true;
    36             }};
    37     }
    38 }

mercurial