28f0866467
#KT-7149 Fixed
84 lines
1.8 KiB
Java
Vendored
84 lines
1.8 KiB
Java
Vendored
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.functions.Function2;
|
|
|
|
public class Java8Class {
|
|
public void foo0(Function0<String> r) {
|
|
}
|
|
|
|
public void foo1(Function1<Integer, String> r) {
|
|
}
|
|
|
|
public void foo2(Function2<Integer, Integer, String> r) {
|
|
}
|
|
|
|
public void helper() {
|
|
}
|
|
|
|
public void foo() {
|
|
foo0(() -> "42");
|
|
foo0(() -> { return "42"; });
|
|
foo0(() -> {
|
|
helper();
|
|
return "42";
|
|
});
|
|
|
|
foo1((i) -> "42");
|
|
foo1(i -> { return "42"; });
|
|
foo1((Integer i) -> {
|
|
helper();
|
|
if (i > 1) {
|
|
return "42";
|
|
}
|
|
|
|
return "43";
|
|
});
|
|
|
|
foo2((i, j) -> "42");
|
|
foo2((Integer i, Integer j) -> {
|
|
helper();
|
|
return "42";
|
|
});
|
|
|
|
Function2<Integer, Integer, String> f = (Integer i, Integer k) -> {
|
|
helper();
|
|
if (i > 1) {
|
|
return "42";
|
|
}
|
|
|
|
return "43";
|
|
};
|
|
|
|
Function2<Integer, Integer, String> f1 = (Integer i1, Integer k1) -> {
|
|
Function2<Integer, Integer, String> f2 = (Integer i2, Integer k2) -> {
|
|
helper();
|
|
if (i2 > 1) {
|
|
return "42";
|
|
}
|
|
|
|
return "43";
|
|
};
|
|
if (i1 > 1) {
|
|
return f.invoke(i1, k1);
|
|
}
|
|
return f.invoke(i1, k1);
|
|
};
|
|
|
|
Runnable runnable = () -> { };
|
|
|
|
foo1((Integer i) -> {
|
|
if (i > 1) {
|
|
return "42";
|
|
}
|
|
|
|
foo0(() -> {
|
|
if (true) {
|
|
return "42";
|
|
}
|
|
return "43";
|
|
});
|
|
|
|
return "43";
|
|
});
|
|
}
|
|
} |