public class ScopeModule extends Operand
Modifier and Type | Field and Description |
---|---|
static ScopeModule[] |
SCOPE_MODULE |
EMPTY_ARRAY
Constructor and Description |
---|
ScopeModule(int scopeModuleDepth) |
Modifier and Type | Method and Description |
---|---|
void |
addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list -- force every operand
to implement this because a missing implementation can cause bad failures.
|
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.
|
Operand |
cloneForInlining(CloneInfo ii) |
static ScopeModule |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
boolean |
equals(Object other) |
OperandType |
getOperandType() |
int |
getScopeModuleDepth() |
int |
hashCode() |
static ScopeModule |
ModuleFor(int depth) |
Object |
retrieve(ThreadContext context,
IRubyObject self,
StaticScope currScope,
DynamicScope currDynScope,
Object[] temp) |
String |
toString() |
void |
visit(IRVisitor visitor) |
getSimplifiedOperand, getValue, hasKnownValue
public static final ScopeModule[] SCOPE_MODULE
public static ScopeModule ModuleFor(int depth)
public OperandType getOperandType()
getOperandType
in class Operand
public void addUsedVariables(List<Variable> l)
Operand
addUsedVariables
in class Operand
public Operand cloneForInlining(CloneInfo ii)
cloneForInlining
in class Operand
public int getScopeModuleDepth()
public boolean canCopyPropagate()
Operand
canCopyPropagate
in class Operand
public Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)
public void encode(IRWriterEncoder e)
public static ScopeModule decode(IRReaderDecoder d)
Copyright © 2001-2016 JRuby. All Rights Reserved.