aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check that break/continue is disallowed in lambda expressions aoqi@0: * @author Maurizio Cimadamore aoqi@0: * @compile/fail/ref=BadBreakContinue.out -XDrawDiagnostics BadBreakContinue.java aoqi@0: */ aoqi@0: aoqi@0: class BadBreakContinue { aoqi@0: aoqi@0: static interface SAM { aoqi@0: void m(); aoqi@0: } aoqi@0: aoqi@0: SAM s1 = ()-> { break; }; aoqi@0: SAM s2 = ()-> { continue; }; aoqi@0: SAM s3 = ()-> { aoqi@0: SAM s3_1 = ()-> { break; }; aoqi@0: SAM s3_2 = ()-> { continue; }; aoqi@0: }; aoqi@0: aoqi@0: void testLabelled() { aoqi@0: loop: while (true) { aoqi@0: SAM s1 = ()-> { break loop; }; aoqi@0: SAM s2 = ()-> { continue loop; }; aoqi@0: SAM s3 = ()-> { aoqi@0: SAM s3_1 = ()-> { break loop; }; aoqi@0: SAM s3_2 = ()-> { continue loop; }; aoqi@0: }; aoqi@0: } aoqi@0: } aoqi@0: aoqi@0: void testNonLabelled() { aoqi@0: while (true) { aoqi@0: SAM s1 = ()-> { break; }; aoqi@0: SAM s2 = ()-> { continue; }; aoqi@0: SAM s3 = ()-> { aoqi@0: SAM s3_1 = ()-> { break; }; aoqi@0: SAM s3_2 = ()-> { continue; }; aoqi@0: }; aoqi@0: } aoqi@0: } aoqi@0: }