BadAccess.java revision 1414:01c9d4161882
1/*
2 * @test /nodynamiccopyright/
3 * @bug 8003280
4 * @summary Add lambda tests
5 *  check that non-static variables are not accessible from static lambdas
6 * @author  Maurizio Cimadamore
7 * @compile/fail/ref=BadAccess.out -XDrawDiagnostics BadAccess.java
8 */
9
10public class BadAccess {
11
12    int i;
13    static int I;
14
15    interface SAM {
16        int m();
17    }
18
19    static void test1() {
20        int l = 0; //effectively final
21        final int L = 0;
22        SAM s = ()-> i + I + l + L;
23    }
24
25    void test2() {
26        int l = 0; //effectively final
27        final int L = 0;
28        SAM s = ()-> i + I + l + L;
29    }
30}
31