test/tools/javac/meth/InvokeMH.java

changeset 573
005bec70ca27
parent 554
9d9f26857129
parent 571
f0e3ec1f9d9f
child 674
584365f256a7
equal deleted inserted replaced
570:ab1356297c67 573:005bec70ca27
46 46
47 public class InvokeMH { 47 public class InvokeMH {
48 void test(MethodHandle mh_SiO, 48 void test(MethodHandle mh_SiO,
49 MethodHandle mh_vS, 49 MethodHandle mh_vS,
50 MethodHandle mh_vi, 50 MethodHandle mh_vi,
51 MethodHandle mh_vv) { 51 MethodHandle mh_vv) throws Throwable {
52 Object o; String s; int i; // for return type testing 52 Object o; String s; int i; // for return type testing
53 53
54 // next five must have sig = (String,int)Object 54 // next five must have sig = (String,int)Object
55 mh_SiO.invoke("world", 123); 55 mh_SiO.invokeExact("world", 123);
56 mh_SiO.invoke("mundus", 456); 56 mh_SiO.invokeExact("mundus", 456);
57 Object k = "kosmos"; 57 Object k = "kosmos";
58 mh_SiO.invoke((String)k, 789); 58 mh_SiO.invokeExact((String)k, 789);
59 o = mh_SiO.invoke((String)null, 000); 59 o = mh_SiO.invokeExact((String)null, 000);
60 o = mh_SiO.<Object>invoke("arda", -123); 60 o = mh_SiO.<Object>invokeExact("arda", -123);
61 61
62 // sig = ()String 62 // sig = ()String
63 s = mh_vS.<String>invoke(); 63 s = mh_vS.<String>invokeExact();
64 64
65 // sig = ()int 65 // sig = ()int
66 i = mh_vi.<int>invoke(); 66 i = mh_vi.<int>invokeExact();
67 o = mh_vi.<int>invoke(); 67 o = mh_vi.<int>invokeExact();
68 //s = mh_vi.<int>invoke(); //BAD 68 //s = mh_vi.<int>invokeExact(); //BAD
69 mh_vi.<int>invoke(); 69 mh_vi.<int>invokeExact();
70 70
71 // sig = ()void 71 // sig = ()void
72 //o = mh_vv.<void>invoke(); //BAD 72 //o = mh_vv.<void>invokeExact(); //BAD
73 mh_vv.<void>invoke(); 73 mh_vv.<void>invokeExact();
74 }
75
76 void testGen(MethodHandle mh_SiO,
77 MethodHandle mh_vS,
78 MethodHandle mh_vi,
79 MethodHandle mh_vv) throws Throwable {
80 Object o; String s; int i; // for return type testing
81
82 // next five must have sig = (*,*)*
83 mh_SiO.invokeGeneric((Object)"world", (Object)123);
84 mh_SiO.<void>invokeGeneric((Object)"mundus", (Object)456);
85 Object k = "kosmos";
86 mh_SiO.invokeGeneric(k, 789);
87 o = mh_SiO.invokeGeneric(null, 000);
88 o = mh_SiO.<Object>invokeGeneric("arda", -123);
89
90 // sig = ()String
91 o = mh_vS.invokeGeneric();
92
93 // sig = ()int
94 i = mh_vi.<int>invokeGeneric();
95 o = mh_vi.invokeGeneric();
96 //s = mh_vi.<int>invokeGeneric(); //BAD
97 mh_vi.<void>invokeGeneric();
98
99 // sig = ()void
100 //o = mh_vv.<void>invokeGeneric(); //BAD
101 o = mh_vv.invokeGeneric();
74 } 102 }
75 } 103 }

mercurial