package org.jruby.ir.operands;

import org.jruby.RubySymbol;
import org.jruby.ir.transformations.inlining.SimpleCloneInfo;

When we optimize full local variables to be temporary ones we like to keep the name of what we renamed them as. This is just enough wrapper for us to maintain a nice debug string.
/** * When we optimize full local variables to be temporary ones we like to keep the name * of what we renamed them as. This is just enough wrapper for us to maintain a nice * debug string. */
public class TemporaryLocalReplacementVariable extends TemporaryLocalVariable implements DepthCloneable { public static final String PREFIX = "%t_"; private final String oldName; public TemporaryLocalReplacementVariable(String oldName, int offset) { super(offset); this.oldName = oldName; } @Override public Variable clone(SimpleCloneInfo ii) { return this; } @Override public String getPrefix() { return PREFIX + oldName + "_"; } @Override public Operand cloneForDepth(int n) { return this; } }