author | vromero |
Thu, 22 Feb 2018 15:49:32 -0500 | |
changeset 48935 | 03ae177c26b0 |
child 49152 | e38b6a7f65ee |
permissions | -rw-r--r-- |
48935
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
1 |
/* |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
2 |
* @test /nodynamiccopyright/ |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
3 |
* @bug 8198512 |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
4 |
* @summary compiler support for local-variable syntax for lambda parameters |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
5 |
* @compile/fail/ref=VarInImplicitLambdaNegTest01.out -XDrawDiagnostics VarInImplicitLambdaNegTest01.java |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
6 |
*/ |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
7 |
|
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
8 |
import java.util.function.*; |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
9 |
|
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
10 |
class VarInImplicitLambdaNegTest01 { |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
11 |
IntBinaryOperator f1 = (x, var y) -> x + y; // error implicit and var |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
12 |
IntBinaryOperator f2 = (var x, y) -> x + y; // error var and implicit |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
13 |
IntBinaryOperator f3 = (int x, var y) -> x + y; // error var and explicit |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
14 |
IntBinaryOperator f4 = (int x, y) -> x + y; // error explicit and implicit |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
15 |
|
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
16 |
BiFunction<String[], String, String> f5 = (var s1[], var s2) -> s2; // error var and array |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
17 |
BiFunction<Function<String, String>, String, String> f = (Function<String, String> s1, String s2) -> s2; // ok |
03ae177c26b0
8198512: compiler support for local-variable syntax for lambda parameters
vromero
parents:
diff
changeset
|
18 |
} |