blob: 0c307f6b93976aefdf0abf9e5dbd6b3eab8d00be [file] [log] [blame]
// 5, 28 -> 5, 30 replaceAll = true, removeDeclaration = true
package p;
class TestInlineMethodRef_Cast {
private static int m(int x) {
return x++;
}
private FI fun3() {
F a = o -> null;
return a.bar((FI) TestInlineMethodRef_Cast::m); // [1]
}
private Object fun5() {
Object o = (FI) TestInlineMethodRef_Cast::m; // [2]
F fx = (z) -> {
z = (FI) TestInlineMethodRef_Cast::m; // [3]
return null;
};
Object fi2;
fi2 = (FI) TestInlineMethodRef_Cast::m; // [4]
Object[] b = new Object[] { (FI) TestInlineMethodRef_Cast::m, (FI) TestInlineMethodRef_Cast::m }; // [5]
Object[][] c = new Object[][] { { (FI) TestInlineMethodRef_Cast::m }, { (FI) TestInlineMethodRef_Cast::m } }; // [6]
Object[] d = { (FI) TestInlineMethodRef_Cast::m, (FI) TestInlineMethodRef_Cast::m }; // [7]
Object[][] e = { { (FI) TestInlineMethodRef_Cast::m }, { (FI) TestInlineMethodRef_Cast::m } }; // [8]
System.out.println((FI) TestInlineMethodRef_Cast::m); // [9]
Object fi4 = true ? (FI) TestInlineMethodRef_Cast::m : (FI) TestInlineMethodRef_Cast::m; // [10]
System.out.println(true ? (FI) TestInlineMethodRef_Cast::m : (FI) TestInlineMethodRef_Cast::m); // [11]
int x2 = ((FI) TestInlineMethodRef_Cast::m).foo(10); // [12]
return (FI) TestInlineMethodRef_Cast::m; // [13]
}
}
@FunctionalInterface
interface FI {
int foo(int x);
}
@FunctionalInterface
interface F {
FI bar(Object o);
}