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

changeset 0
959103a6100f
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
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 */
8
9 public class EffectivelyFinal_neg {
10
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