public class CurrentScope extends Operand
Modifier and Type | Field and Description |
---|---|
static CurrentScope |
INSTANCE |
EMPTY_ARRAY
Constructor and Description |
---|
CurrentScope() |
Modifier and Type | Method and Description |
---|---|
void |
addUsedVariables(java.util.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) |
OperandType |
getOperandType() |
java.lang.Object |
retrieve(ThreadContext context,
IRubyObject self,
StaticScope currScope,
DynamicScope currDynScope,
java.lang.Object[] temp) |
java.lang.String |
toString() |
void |
visit(IRVisitor visitor) |
getSimplifiedOperand, getValue, hasKnownValue, isFalseyImmediate, isTruthyImmediate
public static final CurrentScope INSTANCE
public OperandType getOperandType()
getOperandType
in class Operand
public void addUsedVariables(java.util.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 java.lang.Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, java.lang.Object[] temp)
public void encode(IRWriterEncoder e)
public static CurrentScope decode(IRReaderDecoder d)
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2001-2022 JRuby. All Rights Reserved.