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) |
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) |
getOperandType, getSimplifiedOperand, getValue, hasKnownValuepublic static final ScopeModule[] SCOPE_MODULE
public static ScopeModule ModuleFor(int depth)
public void addUsedVariables(List<Variable> l)
OperandaddUsedVariables in class Operandpublic Operand cloneForInlining(CloneInfo ii)
cloneForInlining in class Operandpublic int getScopeModuleDepth()
public boolean canCopyPropagate()
OperandcanCopyPropagate in class Operandpublic 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-2015 JRuby. All Rights Reserved.