From 3721d20bd853fd976bfc67c146901c4d6c7b0ab5 Mon Sep 17 00:00:00 2001 From: Clisprail Date: Fri, 16 May 2014 19:31:11 +0200 Subject: [PATCH] Invoker bytecode fix --- .../parabot/core/asm/adapters/AddInvokerAdapter.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/parabotv2/src/org/parabot/core/asm/adapters/AddInvokerAdapter.java b/parabotv2/src/org/parabot/core/asm/adapters/AddInvokerAdapter.java index 2e35a35..6a7e237 100644 --- a/parabotv2/src/org/parabot/core/asm/adapters/AddInvokerAdapter.java +++ b/parabotv2/src/org/parabot/core/asm/adapters/AddInvokerAdapter.java @@ -67,18 +67,17 @@ public class AddInvokerAdapter implements Opcodes, Injectable { if(!isStatic || isInterface) { m.visitVarInsn(ALOAD, 0); } - - + + if(instanceCast != null) { + m.visitTypeInsn(CHECKCAST, instanceCast); + } + if (!this.argsDesc.equals("()")) { for (int i = 1; i < this.argsDesc.length() - 1; i++) { m.visitVarInsn(ASMUtils.getLoadOpcode(this.argsDesc.substring( i, i + 1)), i); } } - - if(instanceCast != null) { - m.visitTypeInsn(CHECKCAST, instanceCast); - } if(isInterface) { m.visitMethodInsn(INVOKEINTERFACE, instanceCast, mName, mDesc);