@Override public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type) { IRubyObject value; if (args.length == 1) { value = args[0]; } else { value = RubyArray.newArrayNoCopy(context.runtime, args); } return yield(context, value, null, null, true, binding, type); }
@Override public IRubyObject yield(ThreadContext context, IRubyObject value, Binding binding, Type type) { threadCheck(context); return yield(context, value); }
@Override protected IRubyObject doYield(ThreadContext context, Block block, IRubyObject value) { threadCheck(context); return yield(context, new IRubyObject[] { value }); }
@Override public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type, Block block) { IRubyObject value; if (args.length == 1) { value = args[0]; } else { value = RubyArray.newArrayNoCopy(context.runtime, args); } return yield(context, value, null, null, true, binding, type, block); }
@Override public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type) { IRubyObject value; if (args.length == 1) { value = args[0]; } else { value = RubyArray.newArrayNoCopy(context.runtime, args); } return yield(context, value, null, null, true, binding, type); }
@Override public IRubyObject yield(ThreadContext context, IRubyObject value, Binding binding, Type type) { threadCheck(context); return yield(context, value); }
@Override public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args) { return yield(context, block, adjustArgs(block, args), null); }
@Override public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args, Block blockArg) { return yield(context, block, adjustArgs(block, args), null, blockArg); }
@Override protected IRubyObject doYield(ThreadContext context, Block block, IRubyObject value) { threadCheck(context); return yield(context, new IRubyObject[] { value }); }
@Override public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type, Block block) { IRubyObject value; if (args.length == 1) { value = args[0]; } else { value = RubyArray.newArrayNoCopy(context.runtime, args); } return yield(context, value, null, null, true, binding, type, block); }
@Override public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args, Block blockArg) { return yield(context, block, adjustArgs(block, args), null, blockArg); }
@Override public IRubyObject call(ThreadContext context, Block block, IRubyObject[] args) { return yield(context, block, adjustArgs(block, args), null); }
public abstract IRubyObject yield(ThreadContext context, IRubyObject value);
public abstract IRubyObject yield(ThreadContext context, IRubyObject value);
@Override protected IRubyObject doYield(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self) { threadCheck(context); return yield(context, adjustArgs(block, args)); }
@Override protected IRubyObject doYield(ThreadContext context, Block block, IRubyObject[] args, IRubyObject self) { threadCheck(context); return yield(context, adjustArgs(block, args)); }