package org.jruby.ir.operands;
// Records the nil object
import org.jruby.ir.IRVisitor;
import org.jruby.ir.persistence.IRReaderDecoder;
import org.jruby.runtime.Block;
import org.jruby.runtime.ThreadContext;
Represents Block.NULL block, the block that cannot be yielded.
/**
* Represents Block.NULL block, the block that cannot be yielded.
*/
public class NullBlock extends ImmutableLiteral {
public static final NullBlock INSTANCE = new NullBlock();
private NullBlock() {
super();
}
@Override
public OperandType getOperandType() {
return OperandType.NULL_BLOCK;
}
@Override
public String toString() {
return "null_block";
}
@Override
public Object createCacheObject(ThreadContext context) {
return Block.NULL_BLOCK;
}
public static NullBlock decode(IRReaderDecoder d) {
return INSTANCE;
}
@Override
public void visit(IRVisitor visitor) {
visitor.NullBlock(this);
}
}