Invoker bytecode fix

This commit is contained in:
Clisprail
2014-05-16 19:31:11 +02:00
parent 61266c80ec
commit 3721d20bd8
@@ -67,18 +67,17 @@ public class AddInvokerAdapter implements Opcodes, Injectable {
if(!isStatic || isInterface) { if(!isStatic || isInterface) {
m.visitVarInsn(ALOAD, 0); m.visitVarInsn(ALOAD, 0);
} }
if(instanceCast != null) {
m.visitTypeInsn(CHECKCAST, instanceCast);
}
if (!this.argsDesc.equals("()")) { if (!this.argsDesc.equals("()")) {
for (int i = 1; i < this.argsDesc.length() - 1; i++) { for (int i = 1; i < this.argsDesc.length() - 1; i++) {
m.visitVarInsn(ASMUtils.getLoadOpcode(this.argsDesc.substring( m.visitVarInsn(ASMUtils.getLoadOpcode(this.argsDesc.substring(
i, i + 1)), i); i, i + 1)), i);
} }
} }
if(instanceCast != null) {
m.visitTypeInsn(CHECKCAST, instanceCast);
}
if(isInterface) { if(isInterface) {
m.visitMethodInsn(INVOKEINTERFACE, instanceCast, mName, mDesc); m.visitMethodInsn(INVOKEINTERFACE, instanceCast, mName, mDesc);