public class Splat extends Operand implements DepthCloneable
EMPTY_ARRAY| Modifier and Type | Method and Description |
|---|---|
void |
addUsedVariables(List<Variable> l)
Append the list of variables used in this operand to the input list
|
Operand |
cloneForDepth(int n)
When fixing up splats in nested closure we need to tweak the operand if it is a LocalVariable
|
Operand |
cloneForInlining(CloneInfo ii) |
static Splat |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
Operand |
getArray() |
Operand |
getSimplifiedOperand(Map<Operand,Operand> valueMap,
boolean force) |
boolean |
hasKnownValue()
Do we know the value of this operand at compile-time?
If we do then it may be possible to constant propagate (one case:
We also know it is also an ImmutableLiteral).
|
Object |
retrieve(ThreadContext context,
IRubyObject self,
StaticScope currScope,
DynamicScope currDynScope,
Object[] temp) |
String |
toString() |
void |
visit(IRVisitor visitor) |
canCopyPropagate, getOperandType, getValuepublic Splat(Operand array)
public boolean hasKnownValue()
OperandhasKnownValue in class Operandpublic Operand getArray()
public Operand getSimplifiedOperand(Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand in class Operandpublic void addUsedVariables(List<Variable> l)
addUsedVariables in class Operandpublic Operand cloneForDepth(int n)
cloneForDepth in interface DepthCloneablepublic Operand cloneForInlining(CloneInfo ii)
cloneForInlining in class Operandpublic Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)
public void encode(IRWriterEncoder e)
public static Splat decode(IRReaderDecoder d)
Copyright © 2001-2015 JRuby. All Rights Reserved.