break; case NORMAL: m.invokeOther(name, numArgs); break; case SUPER:
break; case NORMAL: m.invokeOther(name, numArgs); break; case SUPER:
@Override public void AttrAssignInstr(AttrAssignInstr attrAssignInstr) { jvm.method().loadLocal(0); visit(attrAssignInstr.getReceiver()); for (Operand operand : attrAssignInstr.getCallArgs()) { visit(operand); } jvm.method().invokeOther(attrAssignInstr.getMethodAddr().getName(), attrAssignInstr.getCallArgs().length); jvm.method().adapter.pop(); }
@Override public void AttrAssignInstr(AttrAssignInstr attrAssignInstr) { jvm.method().loadLocal(0); visit(attrAssignInstr.getReceiver()); for (Operand operand : attrAssignInstr.getCallArgs()) { visit(operand); } jvm.method().invokeOther(attrAssignInstr.getMethodAddr().getName(), attrAssignInstr.getCallArgs().length); jvm.method().adapter.pop(); }
@Override public void NoResultCallInstr(NoResultCallInstr noResultCallInstr) { IRBytecodeAdapter m = jvm.method(); m.loadLocal(0); visit(noResultCallInstr.getReceiver()); for (Operand operand : noResultCallInstr.getCallArgs()) { visit(operand); } switch (noResultCallInstr.getCallType()) { case FUNCTIONAL: case VARIABLE: m.invokeSelf(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; case NORMAL: m.invokeOther(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; case SUPER: m.invokeSuper(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; } m.adapter.pop(); }
@Override public void NoResultCallInstr(NoResultCallInstr noResultCallInstr) { IRBytecodeAdapter m = jvm.method(); m.loadLocal(0); visit(noResultCallInstr.getReceiver()); for (Operand operand : noResultCallInstr.getCallArgs()) { visit(operand); } switch (noResultCallInstr.getCallType()) { case FUNCTIONAL: case VARIABLE: m.invokeSelf(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; case NORMAL: m.invokeOther(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; case SUPER: m.invokeSuper(noResultCallInstr.getMethodAddr().getName(), noResultCallInstr.getCallArgs().length); break; } m.adapter.pop(); }
break; case NORMAL: m.invokeOther(file, lastLine, currentScopeName, call, arity); break;
break; case NORMAL: m.invokeOther(file, lastLine, currentScopeName, call, arity); break;