test/tools/javac/lambda/LambdaExpr19.java

Tue, 05 Feb 2013 18:55:13 +0000

author
jjh
date
Tue, 05 Feb 2013 18:55:13 +0000
changeset 1546
2480aec9a3f1
parent 0
959103a6100f
permissions
-rw-r--r--

8007504: Remove @ignore from tests that no longer need it
Reviewed-by: mcimadamore

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *  check that inner scopes are left after a lambda check exception has been thrown
     6  * @compile/fail/ref=LambdaExpr19.out -XDrawDiagnostics LambdaExpr19.java
     7  */
     8 class LambdaExpr19 {
    10     interface SAM {
    11         String m();
    12     }
    14     void m(SAM s) { }
    16     void testTry() {
    17         m(() -> {
    18                 try { return 1; }
    19                 catch (Exception e) { }
    20             });
    21     }
    23     void testTryWithResources() {
    24         m(() -> {
    25                 try (AutoCloseable c = null) { return 1; }
    26                 catch (Exception e) { }
    27             });
    28     }
    30     void testSwitch() {
    31         m(() -> {
    32                 switch (1) {
    33                     default: return 1;
    34                 }
    35             });
    36     }
    38     void testFor() {
    39         m(() -> {
    40                 for (;;) {
    41                     return 1;
    42                 }
    43             });
    44     }
    46     void testForeach() {
    47         m(() -> {
    48                 for (Object o : new Object[] { null , null }) {
    49                     return 1;
    50                 }
    51             });
    52     }
    53 }

mercurial