@Override public Instr cloneForInlining(InlinerInfo ii) { return new RestoreErrorInfoInstr(arg.cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new RestoreErrorInfoInstr(getArg().cloneForInlining(ii)); }
public Operand getArg() { return getOperand1(); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { context.setErrorInfo((IRubyObject) getArg().retrieve(context, self, currScope, currDynScope, temp)); return null; }
case RECV_SELF: return ReceiveSelfInstr.decode(this); case RESCUE_EQQ: return RescueEQQInstr.decode(this); case RESTORE_ERROR_INFO: return RestoreErrorInfoInstr.decode(this); case RETURN: return ReturnInstr.decode(this); case RETURN_OR_RETHROW_SAVED_EXC: return ReturnOrRethrowSavedExcInstr.decode(this);
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getArg()); }
case RECV_SELF: return ReceiveSelfInstr.decode(this); case RESCUE_EQQ: return RescueEQQInstr.decode(this); case RESTORE_ERROR_INFO: return RestoreErrorInfoInstr.decode(this); case RETURN: return ReturnInstr.decode(this); case RETURN_OR_RETHROW_SAVED_EXC: return ReturnOrRethrowSavedExcInstr.decode(this);
@Override public Instr cloneForInlining(InlinerInfo ii) { return new RestoreErrorInfoInstr(arg.cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new RestoreErrorInfoInstr(getArg().cloneForInlining(ii)); }
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getArg()); }
public Operand getArg() { return getOperand1(); }
public static RestoreErrorInfoInstr decode(IRReaderDecoder d) { return new RestoreErrorInfoInstr(d.decodeOperand()); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { context.setErrorInfo((IRubyObject) getArg().retrieve(context, self, currScope, currDynScope, temp)); return null; }
public static RestoreErrorInfoInstr decode(IRReaderDecoder d) { return new RestoreErrorInfoInstr(d.decodeOperand()); }
@Override public void RestoreErrorInfoInstr(RestoreErrorInfoInstr restoreerrorinfoinstr) { jvmMethod().loadContext(); visit(restoreerrorinfoinstr.getArg()); jvmAdapter().invokevirtual(p(ThreadContext.class), "setErrorInfo", sig(IRubyObject.class, IRubyObject.class)); jvmAdapter().pop(); }
public Operand run(Object[] args) { // Nothing to do -- ignore the exception, and restore stashed error info! IRScope m = (IRScope)args[0]; m.addInstr(new RestoreErrorInfoInstr((Operand) args[1])); return manager.getNil(); } };
@Override public void RestoreErrorInfoInstr(RestoreErrorInfoInstr restoreerrorinfoinstr) { jvmMethod().loadContext(); visit(restoreerrorinfoinstr.getArg()); jvmAdapter().invokevirtual(p(ThreadContext.class), "setErrorInfo", sig(IRubyObject.class, IRubyObject.class)); jvmAdapter().pop(); }
public Operand run(Object[] args) { // Nothing to do -- ignore the exception, and restore stashed error info! IRScope m = (IRScope)args[0]; m.addInstr(new RestoreErrorInfoInstr((Operand) args[1])); return manager.getNil(); } };