public NoResultCallInstr(Operation op, NoResultCallInstr instr) { this(op, instr.getCallType(), instr.methAddr, instr.receiver, instr.arguments, instr.closure); }
public NoResultCallInstr(Operation op, NoResultCallInstr instr) { this(op, instr.getCallType(), instr.methAddr, instr.receiver, instr.arguments, instr.closure); }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new NoResultCallInstr(getOperation(), getCallType(), (MethAddr) getMethodAddr().cloneForInlining(ii), receiver.cloneForInlining(ii), cloneCallArgs(ii), closure == null ? null : closure.cloneForInlining(ii)); }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new NoResultCallInstr(getOperation(), getCallType(), (MethAddr) getMethodAddr().cloneForInlining(ii), receiver.cloneForInlining(ii), cloneCallArgs(ii), closure == null ? null : closure.cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new NoResultCallInstr(ii.getScope(), getOperation(), getCallType(), getName(), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), getClosureArg() == null ? null : getClosureArg().cloneForInlining(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
@Override public Instr clone(CloneInfo ii) { return new NoResultCallInstr(ii.getScope(), getOperation(), getCallType(), getName(), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), getClosureArg() == null ? null : getClosureArg().cloneForInlining(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
@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(); }