| package p; |
| |
| class TestInlineMethodReference0 { |
| |
| private FI fun1() { |
| FI fi1 = this::m; // [1] |
| FI fi2; |
| fi2 = this::m; // [2] |
| |
| FI[] a = new FI[] {this::m, this::m}; // [3] |
| FI[][] b = new FI[][] {{this::m, this::m}, {this::m}}; // [4] |
| FI[] c = {this::m, this::m}; // [5] |
| FI[][] d = {{this::m}, {this::m}}; // [6] |
| |
| int x1 = fun2(this::m); // [7] |
| TestInlineMethodReference0 c1 = new TestInlineMethodReference0(this::m); // [8] |
| F f1 = (fi_p) -> this::m; // [9] |
| F f2 = (fi_p) -> { |
| return this::m; // [10] |
| }; |
| f1.bar(this::m); // [11] |
| FI fi4 = true ? this::m : this::m; // [12] |
| return this::m; // [13] |
| } |
| |
| private int fun2(FI fi) {return 0;} |
| public TestInlineMethodReference0(FI fi) { } |
| |
| int m(int x) { |
| return x++; |
| } |
| } |
| |
| @FunctionalInterface |
| interface FI { |
| int foo(int x); |
| } |
| |
| @FunctionalInterface |
| interface F { |
| FI bar(FI fi); |
| } |