Package org.jruby.ir.operands
Class SymbolProc
java.lang.Object
org.jruby.ir.operands.Operand
org.jruby.ir.operands.ImmutableLiteral
org.jruby.ir.operands.SymbolProc
A literal representing proc'ified symbols, as in &:foo.
Used to cache a unique and constant proc at the use site to reduce allocation and improve caching.
-
Field Summary
Fields inherited from class org.jruby.ir.operands.Operand
EMPTY_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateCacheObject(ThreadContext context) Implementing class is responsible for constructing the cached value.static SymbolProcvoidbooleangetId()getName()inthashCode()booleanReturns true if this is an immediate value that will always be considered truthy (true, numbers, etc)toString()voidMethods inherited from class org.jruby.ir.operands.ImmutableLiteral
addUsedVariables, cachedObject, canCopyPropagate, cloneForInlining, hasKnownValue, isCached, retrieveMethods inherited from class org.jruby.ir.operands.Operand
getSimplifiedOperand, getValue, isFalseyImmediate
-
Constructor Details
-
SymbolProc
-
-
Method Details
-
getOperandType
- Specified by:
getOperandTypein classOperand
-
createCacheObject
Description copied from class:ImmutableLiteralImplementing class is responsible for constructing the cached value.- Specified by:
createCacheObjectin classImmutableLiteral
-
hashCode
public int hashCode() -
equals
-
visit
-
getId
-
getName
-
encode
-
decode
-
toString
-
isTruthyImmediate
public boolean isTruthyImmediate()Description copied from class:OperandReturns true if this is an immediate value that will always be considered truthy (true, numbers, etc)- Overrides:
isTruthyImmediatein classOperand- Returns:
-