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