|
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 } |