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, getValue
public Splat(Operand array)
public boolean hasKnownValue()
Operand
hasKnownValue
in class Operand
public Operand getArray()
public Operand getSimplifiedOperand(Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand
in class Operand
public void addUsedVariables(List<Variable> l)
addUsedVariables
in class Operand
public Operand cloneForDepth(int n)
cloneForDepth
in interface DepthCloneable
public Operand cloneForInlining(CloneInfo ii)
cloneForInlining
in class Operand
public 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.