Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jruby.ir.operands;
 
 
 // This operand is used to represent the result of an explicit return instruction.
 // So, "return <blah>" will return this operand so ruby expressions like
//    "foo || return false"
// have something in the second slot of the || instruction.  But since control flow
// can never go beyond the return, this value itself can never be interpreted or executed.
// It exists only to fulfil the needs of IR to not have null operands.
public class UnexecutableNil extends Nil {
    public static final UnexecutableNil U_NIL = new UnexecutableNil();
    private UnexecutableNil() { }
    @Override
    public String toString() {
        return "nil(unexecutable)";
    }
    @Override
    public Object retrieve(ThreadContext contextIRubyObject selfDynamicScope currDynScopeObject[] temp) {
        throw new RuntimeException(this.getClass().getSimpleName() + " should not be directly interpreted");
    }
    @Override
    public void visit(IRVisitor visitor) {
        visitor.UnexecutableNil(this);
    }
New to GrepCode? Check out our FAQ X