@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { Block blk = (Block) getEndBlockClosure().retrieve(context, self, currScope, context.getCurrentScope(), temp); IRRuntimeHelpers.pushExitBlock(context, blk); return null; }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { Block blk = (Block) getEndBlockClosure().retrieve(context, self, currScope, context.getCurrentScope(), temp); IRRuntimeHelpers.pushExitBlock(context, blk); return null; }
public static void runBeginEndBlocks(List<IRClosure> beBlocks, ThreadContext context, IRubyObject self, Object[] temp) { if (beBlocks == null) return; for (IRClosure b: beBlocks) { // SSS FIXME: Should I piggyback on WrappedIRClosure.retrieve or just copy that code here? b.prepareForInterpretation(false); Block blk = (Block)(new WrappedIRClosure(b)).retrieve(context, self, context.getCurrentScope(), temp); blk.yield(context, null); } }
public static void runBeginBlocks(List<IRClosure> beBlocks, ThreadContext context, IRubyObject self, StaticScope currScope, Object[] temp) { if (beBlocks == null) return; for (IRClosure b: beBlocks) { // SSS FIXME: Should I piggyback on WrappedIRClosure.retrieve or just copy that code here? Block blk = (Block)(new WrappedIRClosure(b.getSelf(), b)).retrieve(context, self, currScope, context.getCurrentScope(), temp); blk.yield(context, null); } }
public static void runBeginEndBlocks(List<IRClosure> beBlocks, ThreadContext context, IRubyObject self, Object[] temp) { if (beBlocks == null) return; for (IRClosure b: beBlocks) { // SSS FIXME: Should I piggyback on WrappedIRClosure.retrieve or just copy that code here? b.prepareForInterpretation(false); Block blk = (Block)(new WrappedIRClosure(b)).retrieve(context, self, context.getCurrentScope(), temp); blk.yield(context, null); } }
public static void runBeginBlocks(List<IRClosure> beBlocks, ThreadContext context, IRubyObject self, StaticScope currScope, Object[] temp) { if (beBlocks == null) return; for (IRClosure b: beBlocks) { // SSS FIXME: Should I piggyback on WrappedIRClosure.retrieve or just copy that code here? Block blk = (Block)(new WrappedIRClosure(b.getSelf(), b)).retrieve(context, self, currScope, context.getCurrentScope(), temp); blk.yield(context, null); } }