/* * @test /nodynamiccopyright/ * @bug 8024809 * @summary javac, some lambda programs are rejected by flow analysis * @compile/fail/ref=SelfInitializerInLambdaTesta.out -XDrawDiagnostics SelfInitializerInLambdaTesta.java */ public class SelfInitializerInLambdaTesta { final Runnable r1 = ()->System.out.println(r1); final Object lock = new Object(); final Runnable r2 = ()->{ System.out.println(r2); synchronized (lock){} }; final Runnable r3 = ()->{ synchronized (lock){ System.out.println(r3); } }; final Runnable r4 = ()->{ System.out.println(r4); }; interface SAM { int m(String s); } final SAM s1 = (String s)->{ System.out.println(s + s1.toString()); return 0; }; final SAM s2 = (s)->{ System.out.println(s + s2.toString()); return 0; }; }