Top Fields Constructors Methods
org.jruby.ir.operands

public Class Hash

extends Operand
Class Inheritance
Imports
org.jruby.Ruby, .RubyHash, org.jruby.ir.IRVisitor, org.jruby.ir.persistence.IRReaderDecoder, .IRWriterEncoder, org.jruby.ir.transformations.inlining.CloneInfo, org.jruby.parser.StaticScope, org.jruby.runtime.DynamicScope, .ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.util.KeyValuePair, .TypeConverter, java.util.Arrays, .List, .Map

Field Summary

Modifier and TypeField and Description
public final KeyValuePair<Operand, Operand>[]
Inherited from org.jruby.ir.operands.Operand:
EMPTY_ARRAY

Constructor Summary

AccessConstructor and Description
public
protected

Method Summary

Modifier and TypeMethod and Description
public void
addUsedVariables(List<Variable> l)

Implements abstract org.jruby.ir.operands.Operand.addUsedVariables.

Append the list of variables used in this operand to the input list

public Operand
public Operand
cloneForLVarDepth(int newDepth)

public static Hash
public void
public OperandType
public List<KeyValuePair<Operand, Operand>>
public Operand
public boolean
hasKnownValue()

Overrides org.jruby.ir.operands.Operand.hasKnownValue.

Do we know the value of this operand at compile-time?

public boolean
public boolean
public Object
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
Inherited from org.jruby.ir.operands.Operand:
canCopyPropagategetValueisFalseyImmediateisTruthyImmediate

Field Detail

pairsback to summary
public final KeyValuePair<Operand, Operand>[] pairs

Constructor Detail

Hashback to summary
public Hash(List<KeyValuePair<Operand, Operand>> pairs)
Hashback to summary
protected Hash(KeyValuePair<Operand, Operand>[] pairs)

Method Detail

addUsedVariablesback to summary
public void addUsedVariables(List<Variable> l)

Implements abstract org.jruby.ir.operands.Operand.addUsedVariables.

Append the list of variables used in this operand to the input list

Annotations
@Override
cloneForInliningback to summary
public Operand cloneForInlining(CloneInfo ii)

Implements abstract org.jruby.ir.operands.Operand.cloneForInlining.

Annotations
@Override
cloneForLVarDepthback to summary
public Operand cloneForLVarDepth(int newDepth)
decodeback to summary
public static Hash decode(IRReaderDecoder d)
encodeback to summary
public void encode(IRWriterEncoder e)

Overrides org.jruby.ir.operands.Operand.encode.

Annotations
@Override
getOperandTypeback to summary
public OperandType getOperandType()

Implements abstract org.jruby.ir.operands.Operand.getOperandType.

Annotations
@Override
getPairsback to summary
public List<KeyValuePair<Operand, Operand>> getPairs()
getSimplifiedOperandback to summary
public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force)

Overrides org.jruby.ir.operands.Operand.getSimplifiedOperand.

Annotations
@Override
hasKnownValueback to summary
public boolean hasKnownValue()

Overrides org.jruby.ir.operands.Operand.hasKnownValue.

Doc from org.jruby.ir.operands.Operand.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).

Returns:boolean

true if a known compile-time value.

Annotations
@Override
isBlankback to summary
public boolean isBlank()
isKeywordRestback to summary
public boolean isKeywordRest()
retrieveback to summary
public Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)

Overrides org.jruby.ir.operands.Operand.retrieve.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
visitback to summary
public void visit(IRVisitor visitor)

Overrides org.jruby.ir.operands.Operand.visit.

Annotations
@Override