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

Sat, 07 Nov 2020 10:30:02 +0800

author
aoqi
date
Sat, 07 Nov 2020 10:30:02 +0800
changeset 3938
93012e2a5d1d
parent 0
959103a6100f
permissions
-rw-r--r--

Added tag mips-jdk8u275-b01 for changeset eb6ee6a5f2fe

     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