Top Description Fields Constructors Methods
org.jruby.ir.operands

public Class Bignum

extends ImmutableLiteral
Class Inheritance
Imports
org.jruby.RubyBignum, org.jruby.ir.IRVisitor, org.jruby.ir.persistence.IRReaderDecoder, .IRWriterEncoder, org.jruby.runtime.ThreadContext, java.math.BigInteger

Represents a literal Bignum. We cache the value so that when the same Bignum Operand is copy-propagated across multiple instructions, the same RubyBignum object is created. In a ddition, the same constant across loops should be the same object. So, in this example, the output should be false, true, true
  n = 0
  olda = nil
  while (n < 3)
    a = 81402749386839761113321
    p a.equal?(olda)
    olda = a
    n += 1
  end

Field Summary

Modifier and TypeField and Description
public final BigInteger

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
createCacheObject(ThreadContext context)

Implements abstract org.jruby.ir.operands.ImmutableLiteral.createCacheObject.

Implementing class is responsible for constructing the cached value.

public static Bignum
public void
public OperandType
public boolean
isTruthyImmediate()

Overrides org.jruby.ir.operands.Operand.isTruthyImmediate.

Returns true if this is an immediate value that will always be considered truthy (true, numbers, etc)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public void
Inherited from org.jruby.ir.operands.ImmutableLiteral:
addUsedVariablescachedObjectcanCopyPropagatecloneForInlininghasKnownValueisCachedretrieve

Field Detail

valueback to summary
public final BigInteger value

Constructor Detail

Bignumback to summary
public Bignum(BigInteger value)

Method Detail

createCacheObjectback to summary
public Object createCacheObject(ThreadContext context)

Implements abstract org.jruby.ir.operands.ImmutableLiteral.createCacheObject.

Doc from org.jruby.ir.operands.ImmutableLiteral.createCacheObject.

Implementing class is responsible for constructing the cached value.

Annotations
@Override
decodeback to summary
public static Bignum 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
isTruthyImmediateback to summary
public boolean isTruthyImmediate()

Overrides org.jruby.ir.operands.Operand.isTruthyImmediate.

Doc from org.jruby.ir.operands.Operand.isTruthyImmediate.

Returns true if this is an immediate value that will always be considered truthy (true, numbers, etc)

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