private static IRubyObject evalCommon(ThreadContext context, DynamicScope evalScope, IRubyObject self, IRubyObject src, String file, int lineNumber, String name, Block blockArg, EvalType evalType) { StaticScope ss = evalScope.getStaticScope(); BeginEndInterpreterContext ic = prepareIC(context, evalScope, src, file, lineNumber, evalType); evalScope.setEvalType(evalType); context.pushScope(evalScope); try { evalScope.growIfNeeded(); runBeginBlocks(ic.getBeginBlocks(), context, self, ss, null); return Interpreter.INTERPRET_EVAL(context, self, ic, ic.getStaticScope().getModule(), IRubyObject.NULL_ARRAY, name, blockArg); } finally { evalScope.clearEvalType(); context.popScope(); } }
private static IRubyObject evalCommon(ThreadContext context, DynamicScope evalScope, IRubyObject self, IRubyObject src, String file, int lineNumber, String name, Block blockArg, EvalType evalType) { StaticScope ss = evalScope.getStaticScope(); BeginEndInterpreterContext ic = prepareIC(context, evalScope, src, file, lineNumber, evalType); evalScope.setEvalType(evalType); context.pushScope(evalScope); try { evalScope.growIfNeeded(); runBeginBlocks(ic.getBeginBlocks(), context, self, ss, null); return Interpreter.INTERPRET_EVAL(context, self, ic, ic.getStaticScope().getModule(), IRubyObject.NULL_ARRAY, name, blockArg); } finally { evalScope.clearEvalType(); context.popScope(); } }