public class CompoundArray extends Operand
| Modifier and Type | Field and Description |
|---|---|
private Operand |
a1 |
private Operand |
a2 |
private boolean |
isArgsPush |
EMPTY_ARRAY| Constructor and Description |
|---|
CompoundArray(Operand a1,
Operand a2) |
CompoundArray(Operand a1,
Operand a2,
boolean isArgsPush) |
| 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
|
Operand |
cloneForInlining(InlinerInfo ii) |
Operand |
getAppendedArg() |
Operand |
getAppendingArg() |
Operand |
getSimplifiedOperand(java.util.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).
|
boolean |
isArgsPush() |
java.lang.Object |
retrieve(ThreadContext context,
IRubyObject self,
DynamicScope currDynScope,
java.lang.Object[] temp) |
java.lang.String |
toString() |
void |
visit(IRVisitor visitor) |
canCopyPropagate, fetchCompileTimeArrayElement, getValueprivate final Operand a1
private final Operand a2
private boolean isArgsPush
public boolean hasKnownValue()
OperandhasKnownValue in class Operandpublic java.lang.String toString()
toString in class java.lang.Objectpublic Operand getAppendingArg()
public Operand getAppendedArg()
public boolean isArgsPush()
public Operand getSimplifiedOperand(java.util.Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand in class Operandpublic void addUsedVariables(java.util.List<Variable> l)
addUsedVariables in class Operandpublic Operand cloneForInlining(InlinerInfo ii)
cloneForInlining in class Operandpublic java.lang.Object retrieve(ThreadContext context, IRubyObject self, DynamicScope currDynScope, java.lang.Object[] temp)