--- a/jdk/test/java/lang/invoke/InvokeGenericTest.java Fri May 06 18:09:33 2011 +0200
+++ b/jdk/test/java/lang/invoke/InvokeGenericTest.java Thu May 12 19:27:33 2011 -0700
@@ -24,7 +24,7 @@
*/
/* @test
- * @summary unit tests for java.lang.invoke.MethodHandle.invokeGeneric
+ * @summary unit tests for java.lang.invoke.MethodHandle.invoke
* @compile -target 7 InvokeGenericTest.java
* @run junit/othervm test.java.lang.invoke.InvokeGenericTest
*/
@@ -350,6 +350,18 @@
String[] args = { "one", "two" };
MethodHandle mh = callable(Object.class, String.class);
Object res; List resl;
+ res = resl = (List) mh.invoke((String)args[0], (Object)args[1]);
+ //System.out.println(res);
+ assertEquals(Arrays.asList(args), res);
+ }
+
+ @Test
+ public void testAlternateName() throws Throwable {
+ startTest("testAlternateName");
+ countTest();
+ String[] args = { "one", "two" };
+ MethodHandle mh = callable(Object.class, String.class);
+ Object res; List resl;
res = resl = (List) mh.invokeGeneric((String)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args), res);
@@ -388,15 +400,15 @@
try {
switch (args.length) {
case 0:
- junk = target.invokeGeneric(); break;
+ junk = target.invoke(); break;
case 1:
- junk = target.invokeGeneric(args[0]); break;
+ junk = target.invoke(args[0]); break;
case 2:
- junk = target.invokeGeneric(args[0], args[1]); break;
+ junk = target.invoke(args[0], args[1]); break;
case 3:
- junk = target.invokeGeneric(args[0], args[1], args[2]); break;
+ junk = target.invoke(args[0], args[1], args[2]); break;
case 4:
- junk = target.invokeGeneric(args[0], args[1], args[2], args[3]); break;
+ junk = target.invoke(args[0], args[1], args[2], args[3]); break;
default:
junk = target.invokeWithArguments(args); break;
}
@@ -451,7 +463,7 @@
startTest("testReferenceConversions");
toString_MH = LOOKUP.
findVirtual(Object.class, "toString", MethodType.methodType(String.class));
- String[] args = { "one", "two" };
+ Object[] args = { "one", "two" };
for (MethodType type : allMethodTypes(2, Object.class, String.class, RandomInterface.class)) {
testReferenceConversions(type, args);
}
@@ -463,7 +475,7 @@
MethodHandle tsdrop = MethodHandles.dropArguments(toString_MH, 1, type.parameterList());
mh = MethodHandles.foldArguments(tsdrop, mh);
mh = mh.asType(type);
- Object res = mh.invokeGeneric((String)args[0], (Object)args[1]);
+ Object res = mh.invoke((String)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args).toString(), res);
}
@@ -473,10 +485,10 @@
public void testBoxConversions() throws Throwable {
startTest("testBoxConversions");
countTest();
- Integer[] args = { 1, 2 };
+ Object[] args = { 1, 2 };
MethodHandle mh = callable(Object.class, int.class);
Object res; List resl;
- res = resl = (List) mh.invokeGeneric((int)args[0], (Object)args[1]);
+ res = resl = (List) mh.invoke((int)args[0], (Object)args[1]);
//System.out.println(res);
assertEquals(Arrays.asList(args), res);
}