// 5, 28 -> 5, 30 replaceAll = true, removeDeclaration = true
package p;
class TestInlineMethodRef {
private static int m(int x) {
return x++;
}
static {
FI a = TestInlineMethodRef::m; // [1]
FI b;
b = TestInlineMethodRef::m; // [2]
}
private FI fun1() {
return TestInlineMethodRef::m; // [3]
}
FI[] c = new FI[] {TestInlineMethodRef::m, TestInlineMethodRef::m}; // [4]
FI[][] d = new FI[][] {{TestInlineMethodRef::m, TestInlineMethodRef::m}, {TestInlineMethodRef::m}}; // [5]
FI[] e = {TestInlineMethodRef::m, TestInlineMethodRef::m}; // [6]
FI[][] f = {{TestInlineMethodRef::m}, {TestInlineMethodRef::m}}; // [7]
int g = fun2(TestInlineMethodRef::m); // [8]
TestInlineMethodRef h = new TestInlineMethodRef(TestInlineMethodRef::m); // [9]
private int fun2(FI fi) {return 0;}
public TestInlineMethodRef(FI fi) {}
private void fun3() {
F f1 = (fi_p) -> TestInlineMethodRef::m; // [10]
F f2 = (fi_p) -> {
return TestInlineMethodRef::m; // [11]
};
boolean flag = true;
FI fi4 = flag ? TestInlineMethodRef::m : TestInlineMethodRef::m; // [12]
}
}
@FunctionalInterface
interface FI {
int foo(int x);
}
@FunctionalInterface
interface F {
FI bar(Object o);
}