Thu, 07 Mar 2013 10:04:28 +0000
8009138: javac, equals-hashCode warning tuning
Reviewed-by: mcimadamore
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 8003280 |
aoqi@0 | 4 | * @summary Add lambda tests |
aoqi@0 | 5 | * check that lambda is only allowed in argument/cast/assignment context |
aoqi@0 | 6 | * @author Maurizio Cimadamore |
aoqi@0 | 7 | * @compile/fail/ref=BadLambdaPos.out -XDrawDiagnostics BadLambdaPos.java |
aoqi@0 | 8 | */ |
aoqi@0 | 9 | |
aoqi@0 | 10 | interface SAM { |
aoqi@0 | 11 | void m(Integer x); |
aoqi@0 | 12 | } |
aoqi@0 | 13 | |
aoqi@0 | 14 | class Test { |
aoqi@0 | 15 | void test(Object x) {} |
aoqi@0 | 16 | |
aoqi@0 | 17 | void test1() { |
aoqi@0 | 18 | test((int x)-> { } + (int x)-> { } ); |
aoqi@0 | 19 | test((int x)-> { } instanceof Object ); |
aoqi@0 | 20 | } |
aoqi@0 | 21 | |
aoqi@0 | 22 | void test2() { |
aoqi@0 | 23 | int i2 = (int x)-> { } + (int x)-> { }; |
aoqi@0 | 24 | boolean b = (int x)-> { } instanceof Object; |
aoqi@0 | 25 | } |
aoqi@0 | 26 | |
aoqi@0 | 27 | void test3() { |
aoqi@0 | 28 | test((Object)(int x)-> { }); |
aoqi@0 | 29 | Object o = (Object)(int x)-> { }; |
aoqi@0 | 30 | } |
aoqi@0 | 31 | } |