aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check lambda can access only effectively-final locals aoqi@0: * @author Maurizio Cimadamore aoqi@0: * @compile/fail/ref=BadAccess02.out -XDrawDiagnostics BadAccess02.java aoqi@0: */ aoqi@0: aoqi@0: public class BadAccess02 { aoqi@0: aoqi@0: interface SAM { aoqi@0: int m(int h); aoqi@0: } aoqi@0: aoqi@0: static void test1() { aoqi@0: int l = 0; //effectively final aoqi@0: int j = 0; //non-effectively final aoqi@0: j = 2; aoqi@0: final int L = 0; aoqi@0: SAM s = (int h) -> { int k = 0; return h + j + l + L; }; aoqi@0: } aoqi@0: aoqi@0: void test2() { aoqi@0: int l = 0; //effectively final aoqi@0: int j = 0; //non-effectively final aoqi@0: j = 2; aoqi@0: final int L = 0; aoqi@0: SAM s = (int h) -> { int k = 0; return h + k + j + l + L; }; aoqi@0: } aoqi@0: }