// Binding provided for scope, use it
IRubyObject newSelf = binding.getSelf();
RubyString source = src.convertToString();
Node node = runtime.parseEval(source.getByteList(), file, evalScope, lineNumber);
return node.interpret(runtime, context, newSelf, binding.getFrame().getBlock());
} catch (JumpException.BreakJump bj) {
throw runtime.newLocalJumpError(RubyLocalJumpError.Reason.BREAK, (IRubyObject)bj.getValue(), "unexpected break");
} catch (JumpException.RedoJump rj) {
throw runtime.newLocalJumpError(RubyLocalJumpError.Reason.REDO, (IRubyObject)rj.getValue(), "unexpected redo");
} catch (StackOverflowError sfe) {