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

Thu, 21 Feb 2013 15:27:05 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:27:05 +0000
changeset 1600
3fef0cae83b3
parent 0
959103a6100f
permissions
-rw-r--r--

8008444: Inherited generic functional descriptors are merged incorrectly
Summary: Missing call to Types.createMethodWithThrownTypes
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