private void yieldRefineBlock(ThreadContext context, RubyModule refinement, Block block) { block.setEvalType(EvalType.MODULE_EVAL); block.getBinding().setSelf(refinement); block.yieldSpecific(context); }
private void yieldRefineBlock(ThreadContext context, RubyModule refinement, Block block) { block.setEvalType(EvalType.MODULE_EVAL); block.getBinding().setSelf(refinement); block.yieldSpecific(context); }
@Interp @JIT public static IRubyObject updateBlockState(Block block, IRubyObject self) { // SSS FIXME: Why is self null in non-binding-eval contexts? if (self == null || block.getEvalType() == EvalType.BINDING_EVAL) { // Update self to the binding's self self = useBindingSelf(block.getBinding()); } // Clear block's eval type block.setEvalType(EvalType.NONE); // Return self in case it has been updated return self; }
@Interp @JIT public static IRubyObject updateBlockState(Block block, IRubyObject self) { // SSS FIXME: Why is self null in non-binding-eval contexts? if (self == null || block.getEvalType() == EvalType.BINDING_EVAL) { // Update self to the binding's self self = useBindingSelf(block.getBinding()); } // Clear block's eval type block.setEvalType(EvalType.NONE); // Return self in case it has been updated return self; }
public Block deepCloneBlockForEval(IRubyObject self, EvalType evalType) { Block block = cloneBlockAndBinding(); block.getBinding().setSelf(self); block.getBinding().getFrame().setSelf(self); block.setEvalType(evalType); return block; }
public Block cloneBlockForEval(IRubyObject self, EvalType evalType) { Block block = cloneBlock(); block.getBinding().setSelf(self); block.getBinding().getFrame().setSelf(self); block.setEvalType(evalType); return block; }
public Block cloneBlockForEval(IRubyObject self, EvalType evalType) { Block block = cloneBlock(); block.getBinding().setSelf(self); block.getBinding().getFrame().setSelf(self); block.setEvalType(evalType); return block; }
public Block deepCloneBlockForEval(IRubyObject self, EvalType evalType) { Block block = cloneBlockAndBinding(); block.getBinding().setSelf(self); block.getBinding().getFrame().setSelf(self); block.setEvalType(evalType); return block; }
block.setEvalType(EvalType.MODULE_EVAL);
block.setEvalType(EvalType.MODULE_EVAL);