test/tools/javac/lambda/BadReturn.java

Tue, 12 Mar 2013 16:02:43 +0000

author
mcimadamore
date
Tue, 12 Mar 2013 16:02:43 +0000
changeset 1628
5ddecb91d843
parent 0
959103a6100f
permissions
-rw-r--r--

8009545: Graph inference: dependencies between inference variables should be set during incorporation
Summary: Move all transitivity checks into the incorporation round
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