public class Symbol extends ImmutableLiteral
Modifier and Type | Field and Description |
---|---|
static Symbol |
KW_REST_ARG_DUMMY |
EMPTY_ARRAY
Constructor and Description |
---|
Symbol(String name,
org.jcodings.Encoding encoding) |
Modifier and Type | Method and Description |
---|---|
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.
|
Object |
createCacheObject(ThreadContext context)
Implementing class is responsible for constructing the cached value.
|
static Symbol |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
org.jcodings.Encoding |
getEncoding() |
String |
getName() |
String |
toString() |
void |
visit(IRVisitor visitor) |
addUsedVariables, cachedObject, cloneForInlining, hasKnownValue, isCached, retrieve
getOperandType, getSimplifiedOperand, getValue
public static final Symbol KW_REST_ARG_DUMMY
public Symbol(String name, org.jcodings.Encoding encoding)
public String getName()
public Object createCacheObject(ThreadContext context)
ImmutableLiteral
createCacheObject
in class ImmutableLiteral
public boolean canCopyPropagate()
Operand
canCopyPropagate
in class ImmutableLiteral
public org.jcodings.Encoding getEncoding()
public void encode(IRWriterEncoder e)
public static Symbol decode(IRReaderDecoder d)
Copyright © 2001-2015 JRuby. All Rights Reserved.