Bug in MethodHandles.convertArguments
Raffaello Giulietti
raffaello.giulietti at gmail.com
Tue May 11 00:31:05 PDT 2010
Yes, this seems a bug to me, too.
What about converting to Integer.class instead of int.class and letting
the boxing duties to the language compiler?
Raffaello
On 2010-05-10 21:11, Rémi Forax wrote:
> For me it's a new bug.
> I have checked with jdk7 latest binaries
> I will check with the mlvm repository sources when I will be at my
> office with a fast connection.
>
> public class ConvertBug {
> public static Object foo(Object o1, Object o2) {
> return null;
> }
>
> public static void main(String[] args) {
> MethodHandle mh =
> MethodHandles.lookup().findStatic(ConvertBug.class, "foo",
> MethodType.methodType( Object.class, Object.class, Object.class));
> mh = MethodHandles.convertArguments(mh,
> MethodType.methodType(Object.class, int.class, Object.class));
> System.out.println("print mh "+mh);
> }
> }
>
> Exception in thread "main" java.lang.IllegalArgumentException:
> mismatched parameter count
> at sun.dyn.MemberName.newIllegalArgumentException(MemberName.java:409)
> at sun.dyn.MethodHandleImpl.convertArguments(MethodHandleImpl.java:654)
> at sun.dyn.ToGeneric.<init>(ToGeneric.java:102)
> at sun.dyn.ToGeneric.of(ToGeneric.java:257)
> at sun.dyn.ToGeneric.make(ToGeneric.java:249)
> at sun.dyn.MethodHandleImpl.convertArguments(MethodHandleImpl.java:671)
> at java.dyn.MethodHandles.convertArguments(MethodHandles.java:811)
> at ConvertBug.main(ConvertBug.java:15)
>
>
> and I don't see any workaround :(
>
> Rémi
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
More information about the mlvm-dev
mailing list