jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java
changeset 9731 d0f7a3e441c4
parent 9730 e4b334d47f4b
child 9752 88ab34b6da6d
--- a/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java	Tue May 17 19:48:14 2011 -0700
+++ b/jdk/src/share/classes/java/lang/invoke/AdapterMethodHandle.java	Tue May 17 19:48:19 2011 -0700
@@ -546,6 +546,10 @@
     }
 
     static MethodHandle makeVarargsCollector(MethodHandle target, Class<?> arrayType) {
+        MethodType type = target.type();
+        int last = type.parameterCount() - 1;
+        if (type.parameterType(last) != arrayType)
+            target = target.asType(type.changeParameterType(last, arrayType));
         return new AsVarargsCollector(target, arrayType);
     }
 
@@ -1144,7 +1148,7 @@
     }
 
     @Override
-    public String toString() {
+    String debugString() {
         return getNameString(nonAdapter((MethodHandle)vmtarget), this);
     }