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