Mercurial > hg > truffle
changeset 22419:df98dd526dd4
Fix Execute and Invoke arity in JavaInterop
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Thu, 26 Nov 2015 14:10:24 +0100 |
parents | 475b5817063f |
children | 5e2dd9c3fa7d |
files | truffle/com.oracle.truffle.api.interop.java/src/com/oracle/truffle/api/interop/java/JavaInterop.java |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.interop.java/src/com/oracle/truffle/api/interop/java/JavaInterop.java Thu Nov 26 10:20:33 2015 +0100 +++ b/truffle/com.oracle.truffle.api.interop.java/src/com/oracle/truffle/api/interop/java/JavaInterop.java Thu Nov 26 14:10:24 2015 +0100 @@ -366,8 +366,7 @@ } if (Message.createExecute(0).equals(message)) { - List<Object> copy = new ArrayList<>(args.length + 1); - // copy.add(obj); + List<Object> copy = new ArrayList<>(args.length); copy.addAll(Arrays.asList(args)); message = Message.createExecute(copy.size()); val = message(message, obj, copy.toArray()); @@ -376,9 +375,9 @@ if (Message.createInvoke(0).equals(message)) { List<Object> copy = new ArrayList<>(args.length + 1); - copy.add(obj); + copy.add(name); copy.addAll(Arrays.asList(args)); - message = Message.createInvoke(copy.size()); + message = Message.createInvoke(args.length); val = message(message, obj, copy.toArray()); return toJava(val, method); } @@ -395,7 +394,7 @@ List<Object> callArgs = new ArrayList<>(args.length); callArgs.add(name); callArgs.addAll(Arrays.asList(args)); - ret = message(Message.createInvoke(callArgs.size()), obj, callArgs.toArray()); + ret = message(Message.createInvoke(args.length), obj, callArgs.toArray()); } catch (IllegalArgumentException ex) { val = message(Message.READ, obj, name); if (isPrimitive(val)) {