public abstract class Variable extends Operand implements Comparable
| Modifier and Type | Field and Description |
|---|---|
static String |
BLOCK |
static String |
CURRENT_MODULE |
static String |
CURRENT_SCOPE |
EMPTY_ARRAY| Constructor and Description |
|---|
Variable() |
| Modifier and Type | Method and Description |
|---|---|
void |
addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
boolean |
canCopyPropagate()
Can we replace every use of a variable 'v' that contains the value of this operand
with the operand itself? This takes importance when there are at least two uses
of 'v' within this scope.
|
abstract Variable |
cloneForCloningClosure(InlinerInfo ii) |
Operand |
cloneForInlining(InlinerInfo ii) |
abstract String |
getName() |
Operand |
getSimplifiedOperand(Map<Operand,Operand> valueMap,
boolean force) |
Operand |
getValue(Map<Operand,Operand> valueMap) |
boolean |
isImplicitBlockArg() |
fetchCompileTimeArrayElement, hasKnownValue, retrieve, visitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcompareTopublic static final String BLOCK
public static final String CURRENT_SCOPE
public static final String CURRENT_MODULE
public abstract String getName()
public boolean canCopyPropagate()
OperandcanCopyPropagate in class Operandpublic Operand getSimplifiedOperand(Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand in class Operandpublic boolean isImplicitBlockArg()
public void addUsedVariables(List<Variable> l)
addUsedVariables in class Operandpublic abstract Variable cloneForCloningClosure(InlinerInfo ii)
public Operand cloneForInlining(InlinerInfo ii)
cloneForInlining in class OperandCopyright © 2001-2016 JRuby. All Rights Reserved.