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, visit
public 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()
Operand
canCopyPropagate
in class Operand
public Operand getSimplifiedOperand(java.util.Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand
in class Operand
public boolean isImplicitBlockArg()
public void addUsedVariables(java.util.List<Variable> l)
addUsedVariables
in class Operand
public abstract Variable cloneForCloningClosure(InlinerInfo ii)
public Operand cloneForInlining(InlinerInfo ii)
cloneForInlining
in class Operand
Copyright © 2002-2009 JRuby Team. All Rights Reserved.