test/tools/javac/lambda/BadReturn.java

Mon, 21 Jan 2013 20:14:39 +0000

author
mcimadamore
date
Mon, 21 Jan 2013 20:14:39 +0000
changeset 1511
c7c41a044e7c
parent 0
959103a6100f
permissions
-rw-r--r--

8006566: Remove transient lambda-related guards from JavacParser
Summary: Remove transitional internal flag for allowing intersection types in cast
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