public class CurrentScope extends Operand
| Modifier and Type | Field and Description |
|---|---|
static CurrentScope[] |
CURRENT_SCOPE |
EMPTY_ARRAY| Constructor and Description |
|---|
CurrentScope(int scopeNestingDepth) |
| 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 CurrentScope |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
boolean |
equals(Object other) |
int |
getScopeNestingDepth() |
int |
hashCode() |
Object |
retrieve(ThreadContext context,
IRubyObject self,
StaticScope currScope,
DynamicScope currDynScope,
Object[] temp) |
static CurrentScope |
ScopeFor(int depth) |
String |
toString() |
void |
visit(IRVisitor visitor) |
getOperandType, getSimplifiedOperand, getValue, hasKnownValuepublic static final CurrentScope[] CURRENT_SCOPE
public static CurrentScope ScopeFor(int depth)
public void addUsedVariables(List<Variable> l)
OperandaddUsedVariables in class Operandpublic Operand cloneForInlining(CloneInfo ii)
cloneForInlining in class Operandpublic boolean canCopyPropagate()
OperandcanCopyPropagate in class Operandpublic int getScopeNestingDepth()
public Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)
public void encode(IRWriterEncoder e)
public static CurrentScope decode(IRReaderDecoder d)
Copyright © 2001-2015 JRuby. All Rights Reserved.