public class CompoundString extends Operand
EMPTY_ARRAY
Constructor and Description |
---|
CompoundString(java.util.List<Operand> pieces) |
CompoundString(java.util.List<Operand> pieces,
org.jcodings.Encoding encoding) |
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 |
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 |
isSameEncoding(StringLiteral str) |
java.lang.Object |
retrieve(ThreadContext context,
IRubyObject self,
DynamicScope currDynScope,
java.lang.Object[] temp) |
RubyString[] |
retrievePieces(ThreadContext context,
IRubyObject self,
DynamicScope currDynScope,
java.lang.Object[] temp) |
java.lang.String |
toString() |
void |
visit(IRVisitor visitor) |
canCopyPropagate, fetchCompileTimeArrayElement, getValue
public CompoundString(java.util.List<Operand> pieces, org.jcodings.Encoding encoding)
public CompoundString(java.util.List<Operand> pieces)
public boolean hasKnownValue()
Operand
hasKnownValue
in class Operand
public java.lang.String toString()
toString
in class java.lang.Object
public Operand getSimplifiedOperand(java.util.Map<Operand,Operand> valueMap, boolean force)
getSimplifiedOperand
in class Operand
public void addUsedVariables(java.util.List<Variable> l)
addUsedVariables
in class Operand
public Operand cloneForInlining(InlinerInfo ii)
cloneForInlining
in class Operand
public boolean isSameEncoding(StringLiteral str)
public RubyString[] retrievePieces(ThreadContext context, IRubyObject self, DynamicScope currDynScope, java.lang.Object[] temp)
public java.lang.Object retrieve(ThreadContext context, IRubyObject self, DynamicScope currDynScope, java.lang.Object[] temp)
Copyright © 2002-2009 JRuby Team. All Rights Reserved.