@Override public Operand cloneForInlining(CloneInfo ii) { return ii.getRenamedLabel(this); }
@Override public Instr clone(CloneInfo info) { Operand operand = this.operand.cloneForInlining(info); Label rubyCase = info.getRenamedLabel(this.rubyCase); Label[] targets = new Label[this.targets.length]; for (int i = 0; i < targets.length; i++) targets[i] = info.getRenamedLabel(this.targets[i]); Label elseTarget = info.getRenamedLabel(this.elseTarget); return new BSwitchInstr(jumps, operand, rubyCase, targets, elseTarget); }
@Override public Instr clone(CloneInfo info) { Operand operand = this.operand.cloneForInlining(info); Label rubyCase = info.getRenamedLabel(this.rubyCase); Label[] targets = new Label[this.targets.length]; for (int i = 0; i < targets.length; i++) targets[i] = info.getRenamedLabel(this.targets[i]); Label elseTarget = info.getRenamedLabel(this.elseTarget); return new BSwitchInstr(jumps, operand, rubyCase, targets, elseTarget); }
@Override public Instr clone(CloneInfo ii) { return new ExceptionRegionStartMarkerInstr(ii.getRenamedLabel(getFirstRescueBlockLabel())); }
@Override public Instr clone(CloneInfo ii) { return new JumpInstr(ii.getRenamedLabel(getJumpTarget())); }
@Override public Instr clone(CloneInfo ii) { return new ExceptionRegionStartMarkerInstr(ii.getRenamedLabel(getFirstRescueBlockLabel())); }
@Override public Instr clone(CloneInfo ii) { return new LabelInstr(ii.getRenamedLabel(getLabel())); }
@Override public Instr clone(CloneInfo ii) { return new JumpInstr(ii.getRenamedLabel(getJumpTarget())); }
@Override public Instr clone(CloneInfo ii) { return new BTrueInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new ModuleVersionGuardInstr(module, expectedVersion, getCandidateObject().cloneForInlining(ii), ii.getRenamedLabel(getFailurePathLabel())); }
@Override public Instr clone(CloneInfo ii) { return new ModuleVersionGuardInstr(module, expectedVersion, getCandidateObject().cloneForInlining(ii), ii.getRenamedLabel(getFailurePathLabel())); }
@Override public Instr clone(CloneInfo ii) { return new BNilInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BUndefInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BTrueInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BFalseInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BNilInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BUndefInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BFalseInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BNEInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii), getArg2().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new BNEInstr(ii.getRenamedLabel(getJumpTarget()), getArg1().cloneForInlining(ii), getArg2().cloneForInlining(ii)); }