diff -r 000000000000 -r 959103a6100f test/tools/javac/lambda/LambdaExpr19.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/lambda/LambdaExpr19.java Wed Apr 27 01:34:52 2016 +0800 @@ -0,0 +1,53 @@ +/* + * @test /nodynamiccopyright/ + * @bug 8003280 + * @summary Add lambda tests + * check that inner scopes are left after a lambda check exception has been thrown + * @compile/fail/ref=LambdaExpr19.out -XDrawDiagnostics LambdaExpr19.java + */ +class LambdaExpr19 { + + interface SAM { + String m(); + } + + void m(SAM s) { } + + void testTry() { + m(() -> { + try { return 1; } + catch (Exception e) { } + }); + } + + void testTryWithResources() { + m(() -> { + try (AutoCloseable c = null) { return 1; } + catch (Exception e) { } + }); + } + + void testSwitch() { + m(() -> { + switch (1) { + default: return 1; + } + }); + } + + void testFor() { + m(() -> { + for (;;) { + return 1; + } + }); + } + + void testForeach() { + m(() -> { + for (Object o : new Object[] { null , null }) { + return 1; + } + }); + } +}