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) |
OperandType |
getOperandType() |
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) |
getSimplifiedOperand, getValue, hasKnownValue
public static final CurrentScope[] CURRENT_SCOPE
public static CurrentScope ScopeFor(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 boolean canCopyPropagate()
Operand
canCopyPropagate
in class Operand
public 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-2016 JRuby. All Rights Reserved.