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, visit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
compareTo
public static final String BLOCK
public static final String CURRENT_SCOPE
public static final String CURRENT_MODULE
public abstract String getName()
public boolean canCopyPropagate()
Operand
canCopyPropagate
in class Operand
public Operand getSimplifiedOperand(Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand
in class Operand
public boolean isImplicitBlockArg()
public void addUsedVariables(List<Variable> l)
addUsedVariables
in class Operand
public abstract Variable cloneForCloningClosure(InlinerInfo ii)
public Operand cloneForInlining(InlinerInfo ii)
cloneForInlining
in class Operand
Copyright © 2001-2015 JRuby. All Rights Reserved.