aoqi@0: /* aoqi@0: * @test /nodynamiccopyright/ aoqi@0: * @bug 8003280 aoqi@0: * @summary Add lambda tests aoqi@0: * check that lambda is only allowed in argument/cast/assignment context aoqi@0: * @author Maurizio Cimadamore aoqi@0: * @compile/fail/ref=BadLambdaPos.out -XDrawDiagnostics BadLambdaPos.java aoqi@0: */ aoqi@0: aoqi@0: interface SAM { aoqi@0: void m(Integer x); aoqi@0: } aoqi@0: aoqi@0: class Test { aoqi@0: void test(Object x) {} aoqi@0: aoqi@0: void test1() { aoqi@0: test((int x)-> { } + (int x)-> { } ); aoqi@0: test((int x)-> { } instanceof Object ); aoqi@0: } aoqi@0: aoqi@0: void test2() { aoqi@0: int i2 = (int x)-> { } + (int x)-> { }; aoqi@0: boolean b = (int x)-> { } instanceof Object; aoqi@0: } aoqi@0: aoqi@0: void test3() { aoqi@0: test((Object)(int x)-> { }); aoqi@0: Object o = (Object)(int x)-> { }; aoqi@0: } aoqi@0: }