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

Wed, 14 May 2014 15:41:28 -0600

author
dlsmith
date
Wed, 14 May 2014 15:41:28 -0600
changeset 2395
9c577131ffa6
parent 0
959103a6100f
permissions
-rw-r--r--

8034223: Most-specific should not have any special treatment for boxed vs. unboxed types
Summary: Rewrite most-specific logic to conform to JLS 8 15.12.2.5
Reviewed-by: vromero

     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