aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check that incompatible return types in lambdas are flagged with error aoqi@0: * @author Maurizio Cimadamore aoqi@0: * @compile/fail/ref=BadReturn.out -XDrawDiagnostics BadReturn.java aoqi@0: */ aoqi@0: aoqi@0: class BadReturn { aoqi@0: aoqi@0: interface SAM { aoqi@0: Comparable m(); aoqi@0: } aoqi@0: aoqi@0: static void testNeg1() { aoqi@0: SAM s = ()-> { aoqi@0: if (true) { aoqi@0: return ""; aoqi@0: } else { aoqi@0: return System.out.println(""); aoqi@0: }}; aoqi@0: } aoqi@0: aoqi@0: static void testNeg2() { aoqi@0: SAM s = ()-> { return System.out.println(""); }; aoqi@0: } aoqi@0: aoqi@0: static void testPos() { aoqi@0: SAM s = ()-> { aoqi@0: if (false) { aoqi@0: return 10; aoqi@0: } aoqi@0: else { aoqi@0: return true; aoqi@0: }}; aoqi@0: } aoqi@0: }