Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jruby.ir.operands;
 
 import org.jruby.Ruby;
 
 import java.util.List;
 
// Encapsulates exceptions to be thrown at runtime
public class IRException extends Operand {
    private String exceptionType;
    
    protected IRException(String exceptionType) {
        this. = exceptionType;
    }
    public static final IRException RETRY_LocalJumpError = new IRException("LocalJumpError: retry outside of rescue not supported");
    public static final IRException NEXT_LocalJumpError = new IRException("LocalJumpError: unexpected next");
    public static final IRException BREAK_LocalJumpError = new IRException("LocalJumpError: unexpected break");
    public static final IRException RETURN_LocalJumpError = new IRException("LocalJumpError: unexpected return");
    public static final IRException REDO_LocalJumpError = new IRException("LocalJumpError: unexpected redo");
    @Override
    public void addUsedVariables(List<Variablel) {
        /* Do nothing */
    }
    @Override
    public Operand cloneForInlining(InlinerInfo ii) {
        return this;
    }
    @Override
    public boolean canCopyPropagate() {
        return true;
    }
    @Override
    public String toString() {
        StringBuilder result = new StringBuilder("LocalJumpError:");
        if (this == result.append("NEXT");
        else if (this == result.append("BREAK");
        else if (this == result.append("RETURN");
        else if (this == result.append("REDO");
        else if (this == result.append("RETRY");
        return result.toString();
    }
    public RuntimeException getException(Ruby runtime) { 
        if (this == return runtime.newLocalJumpError(..null"unexpected next");
        else if (this == return runtime.newLocalJumpError(..null"unexpected break");
        else if (this == return runtime.newLocalJumpError(..null"unexpected return");
        else if (this == return runtime.newLocalJumpError(..null"unexpected redo");
        else if (this == return runtime.newLocalJumpError(..null"retry outside of rescue not supported");
        else throw new RuntimeException("Unhandled case in operands/IRException.java");
    }
    @Override
    public void visit(IRVisitor visitor) {
        visitor.IRException(this);
    }
New to GrepCode? Check out our FAQ X