core/src/main/java/org/jruby/RubyBasicObject.java
protected IRubyObject yieldUnder(final ThreadContext context, RubyModule under, Block block, EvalType evalType) {
        context.preExecuteUnder(this, under, block);

        try {
            return setupBlock(block, evalType).yieldNonArray(context, this, this); //, context.getRubyClass());
        } finally {
            context.postExecuteUnder();
        }
    }
/**
     * Will yield to the specific block changing the self to be the
     * current object instead of the self that is part of the frame
     * saved in the block frame. This method is the basis for the Ruby
     * instance_eval and module_eval methods. The arguments sent in to
     * it in the args array will be yielded to the block. This makes
     * it possible to emulate both instance_eval and instance_exec
     * with this implementation.
     */
Will yield to the specific block changing the self to be the
current object instead of the self that is part of the frame
saved in the block frame. This method is the basis for the Ruby
instance_eval and module_eval methods. The arguments sent in to
it in the args array will be yielded to the block. This makes
it possible to emulate both instance_eval and instance_exec
with this implementation.
Will yield to the specific block changing the self to be the current object instead of the self that is part of the frame saved in the block frame . This method is the basis for the Ruby instance_eval and module_eval methods . The arguments sent in to it in the args array will be yielded to the block . This makes it possible to emulate both instance_eval and instance_exec with this implementation .
protected IRubyObject yieldUnder(final ThreadContext context, RubyModule under, Block block, EvalType evalType) {
        context.preExecuteUnder(this, under, block);
        try {
            return setupBlock(block, evalType).yieldNonArray(context, this, this); 
        } finally {
            context.postExecuteUnder();
        }
    }
protected IRubyObject yieldUnder ( final ThreadContext context , RubyModule under , Block block , EvalType evalType ) { context . preExecuteUnder ( this , under , block ) ; try { return setupBlock ( block , evalType ) . yieldNonArray ( context , this , this ) ; } finally { context . postExecuteUnder ( ) ; } }
Will yield to the specific block changing the self to be the
 current object instead of the self that is part of the frame
 saved in the block frame.
Will yield to the specific block changing the self to be the current object instead of the self that is part of the frame saved in the block frame .
//, context.getRubyClass());