diff --git a/idea/src/org/jetbrains/jet/codegen/CallableMethod.java b/idea/src/org/jetbrains/jet/codegen/CallableMethod.java index a0381403c49..4e7a82ff6c7 100644 --- a/idea/src/org/jetbrains/jet/codegen/CallableMethod.java +++ b/idea/src/org/jetbrains/jet/codegen/CallableMethod.java @@ -1,5 +1,6 @@ package org.jetbrains.jet.codegen; +import org.objectweb.asm.commons.InstructionAdapter; import org.objectweb.asm.commons.Method; /** @@ -27,4 +28,8 @@ public class CallableMethod { public int getInvokeOpcode() { return invokeOpcode; } + + void invoke(InstructionAdapter v) { + v.visitMethodInsn(getInvokeOpcode(), getOwner(), getDescriptor().getName(), getDescriptor().getDescriptor()); + } } diff --git a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 0c4d9a4ee1a..11909c758c3 100644 --- a/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/idea/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -797,7 +797,7 @@ public class ExpressionCodegen extends JetVisitor { pushMethodArguments(expression, callableMethod.getDescriptor()); pushTypeArguments(expression); - invokeCallableMethod(callableMethod); + callableMethod.invoke(v); methodDescriptor = callableMethod.getDescriptor(); } else { @@ -830,11 +830,6 @@ public class ExpressionCodegen extends JetVisitor { } } - private void invokeCallableMethod(CallableMethod callableMethod) { - v.visitMethodInsn(callableMethod.getInvokeOpcode(), callableMethod.getOwner(), - callableMethod.getDescriptor().getName(), callableMethod.getDescriptor().getDescriptor()); - } - private Method generateJavaMethodCall(JetCallExpression expression, PsiMethod psiMethod) { final PsiClass containingClass = psiMethod.getContainingClass(); String owner = JetTypeMapper.jvmName(containingClass);