void pre(ThreadContext context, IRubyObject self, RubyModule implementer, String name, Block block, StaticScope scope) { context.preMethodFrameOnly(implementer, name, self, block); } void post(ThreadContext context) {
void pre(ThreadContext context, IRubyObject self, RubyModule implementer, String name, Block block, StaticScope scope) { context.preMethodFrameOnly(implementer, name, self, block); } void post(ThreadContext context) {
void pre(ThreadContext context, IRubyObject self, RubyModule implementer, String name, Block block, StaticScope scope) { context.preMethodFrameOnly(implementer, name, self, block); } void post(ThreadContext context) {
protected final void preFrameOnly(ThreadContext context, IRubyObject self, String name, Block block) { context.preMethodFrameOnly(implementationClass, name, self, block); }
protected final void preFrameOnly(ThreadContext context, IRubyObject self, String name, Block block) { context.preMethodFrameOnly(implementationClass, name, self, block); }
void pre(ThreadContext context, IRubyObject self, RubyModule implementer, String name, Block block, StaticScope scope) { context.preMethodFrameOnly(implementer, name, self, block); } void post(ThreadContext context) {
protected final void preFrameOnly(ThreadContext context, IRubyObject self, String name, Block block) { context.preMethodFrameOnly(implementationClass, name, self, block); }
protected final void preFrameOnly(ThreadContext context, IRubyObject self, String name, Block block) { context.preMethodFrameOnly(implementationClass, name, self, block); }
protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(implClass, name, self, block); if (ic.pushNewDynScope()) { context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope())); } }
protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(implClass, name, self, block); if (ic.pushNewDynScope()) { context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope())); } }
protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(implClass, name, self, block); if (ic.pushNewDynScope()) { context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope())); } }
protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(implClass, name, self, block); if (ic.pushNewDynScope()) { context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope())); } }
protected void pre(ThreadContext context, StaticScope staticScope, RubyModule implementationClass, IRubyObject self, String name, Block block) { // update call stacks (push: frame, class, needsDynamicScope, etc.) context.preMethodFrameOnly(implementationClass, name, self, block); if (needsDynamicScope) { // Add a parent-link to current dynscope to support non-local returns cheaply // This doesn't affect variable scoping since local variables will all have // the right needsDynamicScope depth. context.pushScope(DynamicScope.newDynamicScope(staticScope, context.getCurrentScope())); } context.setCurrentVisibility(getVisibility()); }
protected void pre(ThreadContext context, StaticScope staticScope, RubyModule implementationClass, IRubyObject self, String name, Block block) { // update call stacks (push: frame, class, needsDynamicScope, etc.) context.preMethodFrameOnly(implementationClass, name, self, block); if (needsDynamicScope) { // Add a parent-link to current dynscope to support non-local returns cheaply // This doesn't affect variable scoping since local variables will all have // the right needsDynamicScope depth. context.pushScope(DynamicScope.newDynamicScope(staticScope, context.getCurrentScope())); } context.setCurrentVisibility(getVisibility()); }
/** * Pushes the method frame for execution of the native function. Enforces use of a {@link ManyVarsDynamicScope} * since we don't know what we will need in the function execution. Lastly, this acquires the {@link GIL} for native * execution in the current Thread. */ static void pre(ThreadContext context, IRubyObject self, RubyModule klazz, String name) { context.preMethodFrameOnly(klazz, name, self, Block.NULL_BLOCK); DynamicScope currentScope = context.getCurrentScope(); context.pushScope(new ManyVarsDynamicScope(currentScope.getStaticScope(), currentScope)); GIL.acquire(); }
/** see {@link #pre(ThreadContext, IRubyObject, RubyModule, String)} */ static void pre(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block) { context.preMethodFrameOnly(klazz, name, self, block); DynamicScope currentScope = context.getCurrentScope(); context.pushScope(new ManyVarsDynamicScope(currentScope.getStaticScope(), currentScope)); GIL.acquire(); }
/** * Pushes the method frame for execution of the native function. Enforces use of a {@link ManyVarsDynamicScope} * since we don't know what we will need in the function execution. Lastly, this acquires the {@link GIL} for native * execution in the current Thread. */ static void pre(ThreadContext context, IRubyObject self, RubyModule klazz, String name) { context.preMethodFrameOnly(klazz, name, self, Block.NULL_BLOCK); DynamicScope currentScope = context.getCurrentScope(); context.pushScope(new ManyVarsDynamicScope(currentScope.getStaticScope(), currentScope)); GIL.acquire(); }
/** see {@link #pre(ThreadContext, IRubyObject, RubyModule, String)} */ static void pre(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block) { context.preMethodFrameOnly(klazz, name, self, block); DynamicScope currentScope = context.getCurrentScope(); context.pushScope(new ManyVarsDynamicScope(currentScope.getStaticScope(), currentScope)); GIL.acquire(); }
@Override protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(getImplementationClass(), name, self, block); if (ic.pushNewDynScope()) { // Add a parent-link to current dynscope to support non-local returns cheaply // This doesn't affect variable scoping since local variables will all have // the right scope depth. context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope(), context.getCurrentScope())); } context.setCurrentVisibility(getVisibility()); }
@Override protected void pre(InterpreterContext ic, ThreadContext context, IRubyObject self, String name, Block block, RubyModule implClass) { // update call stacks (push: frame, class, scope, etc.) context.preMethodFrameOnly(getImplementationClass(), name, self, block); if (ic.pushNewDynScope()) { // Add a parent-link to current dynscope to support non-local returns cheaply // This doesn't affect variable scoping since local variables will all have // the right scope depth. context.pushScope(DynamicScope.newDynamicScope(ic.getStaticScope(), context.getCurrentScope())); } context.setCurrentVisibility(getVisibility()); }