test/tools/javac/lambda/lambdaExpression/EffectivelyFinal_neg.java

Thu, 30 Jan 2014 11:09:01 -0800

author
sogoel
date
Thu, 30 Jan 2014 11:09:01 -0800
changeset 2255
b2e4c5ca111f
parent 0
959103a6100f
permissions
-rw-r--r--

8027175: Existing regression tests in tl/langtools and tl/jdk need to be updated for @bug keyword
Reviewed-by: jjg, ksrini
Contributed-by: matherey.nunez@oracle.com

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 8003280
     4  * @summary Add lambda tests
     5  *   Negative test of capture of "effectively final" local variable in lambda expressions
     6  * @compile/fail/ref=EffectivelyFinal_neg.out -XDrawDiagnostics EffectivelyFinal_neg.java
     7  */
     9 public class EffectivelyFinal_neg {
    11     void test() {
    12         String s = "a";
    13         String s2 = "a";
    14         int n = 1;
    15         ((Runnable)
    16             ()-> {
    17                 s2 = "b"; //re-assign illegal here
    18                 System.out.println(n);
    19                 System.out.println(s);
    20                 s = "b"; // not effectively final
    21             }
    22         ).run();
    23         n = 2; // not effectively final
    24     }
    25 }

mercurial