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

Mon, 21 Jan 2013 20:13:56 +0000

author
mcimadamore
date
Mon, 21 Jan 2013 20:13:56 +0000
changeset 1510
7873d37f5b37
parent 0
959103a6100f
permissions
-rw-r--r--

8005244: Implement overload resolution as per latest spec EDR
Summary: Add support for stuck expressions and provisional applicability
Reviewed-by: jjg

     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