File: TestInlineMethodRef_Cast.java

package info (click to toggle)
eclipse-jdt-ui 4.29-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 93,280 kB
  • sloc: java: 831,977; xml: 14,578; jsp: 33; makefile: 5
file content (48 lines) | stat: -rw-r--r-- 1,416 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// 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);
}