Mercurial > hg > jdk9-shenandoah > langtools
view test/tools/javac/lambda/self_initializer/T8053906/SelfInitializerInLambdaTestc.java @ 3007:48f213c93965
8053906: javac is accepting a self-referencing variable initializer inside a lambda expression
Reviewed-by: jlahoda
author | vromero |
---|---|
date | Mon, 10 Aug 2015 18:10:18 -0700 |
parents | |
children |
line wrap: on
line source
/* * @test /nodynamiccopyright/ * @bug 8053906 * @summary javac, some lambda programs are rejected by flow analysis * @compile/fail/ref=SelfInitializerInLambdaTestc.out -XDrawDiagnostics SelfInitializerInLambdaTestc.java */ public class SelfInitializerInLambdaTestc { interface SAM { void foo(); } final SAM notInitialized = ()-> { SAM simpleVariable = () -> notInitialized.foo(); }; final SAM notInitialized2 = ()-> { SAM simpleVariable1 = () -> { SAM simpleVariable2 = () -> { SAM simpleVariable3 = () -> { SAM simpleVariable4 = () -> notInitialized2.foo(); }; }; }; }; }