@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { block.yieldArray(context, context.runtime.newArray(key, value), null); } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { block.yieldArray(context, context.runtime.newArray(key, value), null); } };
public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { IRubyObject larg = packEnumValues(ctx, largs); checkContext(context, ctx, "inject"); result[0] = result[0] == null ? larg : block.yieldArray(ctx, runtime.newArray(result[0], larg), null); return ctx.nil; } });
public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { IRubyObject larg = packEnumValues(ctx, largs); IRubyObject val = block.yieldArray(ctx, larg, null); result[0] = sumAdd(ctx, result[0], val, memo); return ctx.nil; } });
public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { IRubyObject larg = packEnumValues(ctx, largs); checkContext(context, ctx, "inject"); result[0] = result[0] == null ? larg : block.yieldArray(ctx, runtime.newArray(result[0], larg), null); return ctx.nil; } });
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (block.yieldArray(context, context.runtime.newArray(key, value), null).isTrue()) { result.fastASet(key, value); } } }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (block.yieldArray(context, RubyArray.newArray(context.runtime, key, value), null).isTrue()) { self.delete(context, key, Block.NULL_BLOCK); } } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (!block.yieldArray(context, context.runtime.newArray(key, value), null).isTrue()) { modified = true; self.remove(key); } } }
public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { final IRubyObject larg; boolean ary = false; switch (largs.length) { case 0: larg = ctx.nil; break; case 1: larg = largs[0]; break; default: larg = RubyArray.newArrayMayCopy(ctx.runtime, largs); ary = true; } IRubyObject val = ary ? block.yieldArray(ctx, larg, null) : block.yield(ctx, larg); synchronized (result) { result.append(val); } return ctx.nil; } });
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (!block.yieldArray(context, RubyArray.newArray(context.runtime, key, value), null).isTrue()) { result.fastASet(key, value); } } }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (block.yieldArray(context, context.runtime.newArray(key, value), null).isTrue()) { result.fastASet(key, value); } } }
public void visit(IRubyObject key, IRubyObject value) { if (block.yieldArray(context, runtime.newArray(key, value), null, null).isTrue()) { result.fastASet(key, value); } } });
private IRubyObject any_p_i_fast(ThreadContext context, Block block) { iteratorEntry(); try { for (RubyHashEntry entry = head.nextAdded; entry != head; entry = entry.nextAdded) { if (block.yieldArray(context, context.runtime.newArray(entry.key, entry.value), null).isTrue()) return context.tru; } return context.fals; } finally { iteratorExit(); } }
private RubyBoolean any_p_i_fast(ThreadContext context, Block block) { final Ruby runtime = context.runtime; for ( Map.Entry entry : entrySet() ) { final IRubyObject key = JavaUtil.convertJavaToUsableRubyObject(runtime, entry.getKey()); final IRubyObject val = JavaUtil.convertJavaToUsableRubyObject(runtime, entry.getValue()); if ( block.yieldArray(context, runtime.newArray(key, val), null).isTrue() ) { return runtime.getTrue(); } } return runtime.getFalse(); }
public void visit(IRubyObject key, IRubyObject value) { if (block.yieldArray(context, runtime.newArray(key, value), null, null).isTrue()) { result.append(runtime.newArray(key, value)); } } });
private IRubyObject any_p_i_fast(ThreadContext context, Block block) { iteratorEntry(); try { for (RubyHashEntry entry = head.nextAdded; entry != head; entry = entry.nextAdded) { if (block.yieldArray(context, context.runtime.newArray(entry.key, entry.value), null).isTrue()) return context.tru; } return context.fals; } finally { iteratorExit(); } }
public IRubyObject call(ThreadContext ctx, IRubyObject[] largs, Block blk) { IRubyObject larg = packEnumValues(runtime, largs); checkContext(localContext, ctx, "max{}"); if (result[0] == null || RubyComparable.cmpint(ctx, block.yieldArray(ctx, runtime.newArray(larg, result[0]), null, null), larg, result[0]) > 0) { result[0] = larg; } return runtime.getNil(); } });
@Override protected IRubyObject sortInternal(ThreadContext context, Block block) { if (!packed()) return super.sortInternal(context, block); IRubyObject ret = block.yieldArray(context, newArray(context.runtime, car, cdr), null); //TODO: ary_sort_check should be done here int compare = RubyComparable.cmpint(context, ret, car, cdr); if (compare > 0) reverse_bang(); return this; }
@Override protected IRubyObject sortInternal(ThreadContext context, Block block) { if (!packed()) return super.sortInternal(context, block); IRubyObject ret = block.yieldArray(context, newArray(context.runtime, car, cdr), null); //TODO: ary_sort_check should be done here int compare = RubyComparable.cmpint(context, ret, car, cdr); if (compare > 0) reverse_bang(); return this; }
@Override public IRubyObject interpret(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock) { IRubyObject argsResult = argsNode.interpret(runtime, context, self, aBlock); if (expandedArguments) { if (argsNode instanceof Splat19Node) argsResult = Helpers.unsplatValue19(argsResult); return context.getCurrentFrame().getBlock().yieldArray(context, argsResult, null, null); } return context.getCurrentFrame().getBlock().yield(context, argsResult); }