Files
kotlin-fork/j2k/testData/fileOrElement/function/java8Lambdas.java
T
Natalia Ukhorskaya 28f0866467 J2K: Convert Java8 lambdas properly
#KT-7149 Fixed
2015-07-30 10:00:26 +03:00

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";
});
}
}