public abstract class Variable extends Operand implements java.lang.Comparable
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
BLOCK |
static java.lang.String |
CURRENT_MODULE |
static java.lang.String |
CURRENT_SCOPE |
EMPTY_ARRAY| Constructor and Description |
|---|
Variable() |
| Modifier and Type | Method and Description |
|---|---|
void |
addUsedVariables(java.util.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 java.lang.String |
getName() |
Operand |
getSimplifiedOperand(java.util.Map<Operand,Operand> valueMap,
boolean force) |
Operand |
getValue(java.util.Map<Operand,Operand> valueMap) |
boolean |
isImplicitBlockArg() |
fetchCompileTimeArrayElement, hasKnownValue, retrieve, visitpublic static final java.lang.String BLOCK
public static final java.lang.String CURRENT_SCOPE
public static final java.lang.String CURRENT_MODULE
public abstract java.lang.String getName()
public boolean canCopyPropagate()
OperandcanCopyPropagate in class Operandpublic Operand getSimplifiedOperand(java.util.Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand in class Operandpublic boolean isImplicitBlockArg()
public void addUsedVariables(java.util.List<Variable> l)
addUsedVariables in class Operandpublic abstract Variable cloneForCloningClosure(InlinerInfo ii)
public Operand cloneForInlining(InlinerInfo ii)
cloneForInlining in class OperandCopyright © 2002-2009 JRuby Team. All Rights Reserved.