mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-09 15:41:26 +07:00
lambda: tests
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
interface I {
|
||||
void m(int x);
|
||||
}
|
||||
class InContexts {
|
||||
void m(I s) { }
|
||||
|
||||
void assignment() {
|
||||
I s1 = (x-> { System.out.println(); });
|
||||
I s2 = ((x-> { System.out.println(); }));
|
||||
}
|
||||
|
||||
void method() {
|
||||
m((x-> { System.out.println(); }));
|
||||
m(((x-> { System.out.println(); })));
|
||||
}
|
||||
|
||||
I returnContext() {
|
||||
return (x -> {System.out.println();});
|
||||
}
|
||||
}
|
||||
|
||||
interface I1<A, B> {
|
||||
B foo(A a);
|
||||
}
|
||||
class ValueLambdaInContext {
|
||||
|
||||
<Z> void m1(I1<String, Z> i) { }
|
||||
<Z> void m2(I1<String, I1<String, Z>> i) { }
|
||||
|
||||
void exprMethod() {
|
||||
m1(s1 -> 1);
|
||||
m2(s1 -> s2 -> 1);
|
||||
}
|
||||
|
||||
void exprAssignment() {
|
||||
I1<String, Integer> in1 = s1 -> 1;
|
||||
I1<String, I1<String, Integer>> in2 = s1 -> s2 -> 1;
|
||||
}
|
||||
|
||||
void statementMethod() {
|
||||
m1(s1 -> { return 1; });
|
||||
m2(s1 -> { return s2 -> { return 1; }; });
|
||||
}
|
||||
|
||||
void statementAssignment() {
|
||||
I1<String, Integer> in1 = s1 -> { return 1; };
|
||||
I1<String, I1<String, Integer>> in2 = s1 -> { return s2 -> { return 1; }; };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user