|
1 /* |
|
2 * @test /nodynamiccopyright/ |
|
3 * @bug 8003280 |
|
4 * @summary Add lambda tests |
|
5 * check lambda can access only effectively-final locals |
|
6 * @author Maurizio Cimadamore |
|
7 * @compile/fail/ref=BadAccess02.out -XDrawDiagnostics BadAccess02.java |
|
8 */ |
|
9 |
|
10 public class BadAccess02 { |
|
11 |
|
12 interface SAM { |
|
13 int m(int h); |
|
14 } |
|
15 |
|
16 static void test1() { |
|
17 int l = 0; //effectively final |
|
18 int j = 0; //non-effectively final |
|
19 j = 2; |
|
20 final int L = 0; |
|
21 SAM s = (int h) -> { int k = 0; return h + j + l + L; }; |
|
22 } |
|
23 |
|
24 void test2() { |
|
25 int l = 0; //effectively final |
|
26 int j = 0; //non-effectively final |
|
27 j = 2; |
|
28 final int L = 0; |
|
29 SAM s = (int h) -> { int k = 0; return h + k + j + l + L; }; |
|
30 } |
|
31 } |