@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash target) { target.op_aset(context, key, value); } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash state) { state.op_aset(context, value, key); } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash state) { state.op_aset(context, value, key); } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, RubyHash target) { target.op_aset(context, key, value); } };
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { IRubyObject newValue = block.yield(context, value); self.op_aset(context, key, newValue); } }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { IRubyObject newValue = block.yield(context, value); self.op_aset(context, key, newValue); } }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { // All kwargs keys must be symbols. TypeConverter.checkType(context, key, context.runtime.getSymbol()); target.op_aset(context, key, value); } }
/** * Note: this is included as a compatibility measure for AR-JDBC * @deprecated use RubyHash.op_aset instead */ public IRubyObject aset(IRubyObject key, IRubyObject value) { return op_aset(getRuntime().getCurrentContext(), key, value); }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { // All kwargs keys must be symbols. TypeConverter.checkType(context, key, context.runtime.getSymbol()); target.op_aset(context, key, value); } }
/** rb_hash_slice * */ @JRubyMethod(name = "slice", rest = true) public RubyHash slice(final ThreadContext context, final IRubyObject[] args) { RubyHash result = newHash(context.runtime); for (int i = 0; i < args.length; i++) { IRubyObject key = args[i]; IRubyObject value = this.internalGet(key); if (value != null) result.op_aset(key, value); } return result; }
public void visit(IRubyObject key, IRubyObject value) { if (block.isGiven()) { IRubyObject existing = self.internalGet(key); if (existing != null) { value = block.yield(context, RubyArray.newArrayNoCopy(runtime, new IRubyObject[]{key, existing, value})); } } self.op_aset(context, key, value); } });
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (block.isGiven()) { IRubyObject existing = target.internalGet(key); if (existing != null) { value = block.yield(context, RubyArray.newArray(context.runtime, key, existing, value)); } } target.op_aset(context, key, value); } };
@JRubyMethod public RubyHash to_h(ThreadContext context) { RubyHash hash = RubyHash.newHash(context.runtime); RubyArray members = __member__(); for (int i = 0; i < values.length; i++) { hash.op_aset(context, members.eltOk(i), values[i]); } return hash; }
@Override public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyObject value, int index, Block block) { if (block.isGiven()) { IRubyObject existing = target.internalGet(key); if (existing != null) { value = block.yield(context, RubyArray.newArray(context.runtime, key, existing, value)); } } target.op_aset(context, key, value); } };
@JRubyMethod public RubyHash to_h(ThreadContext context) { RubyHash hash = RubyHash.newHash(context.runtime); RubyArray members = __member__(); for (int i = 0; i < values.length; i++) { hash.op_aset(context, members.eltOk(i), values[i]); } return hash; }
public void visit(IRubyObject key, IRubyObject value) { if (block.isGiven()) { IRubyObject existing = self.internalGet(key); if (existing != null) { value = block.yield(context, RubyArray.newArrayNoCopy(runtime, new IRubyObject[]{key, existing, value})); } } self.op_aset(context, key, value); } });
@Override public RubyHash to_hash() { RubyHash hash = new RubyHash(getRuntime()); Set<Map.Entry> entries = ((Map) ((JavaProxy)receiver).getObject()).entrySet(); for (Map.Entry entry : entries) { IRubyObject key = JavaUtil.convertJavaToUsableRubyObject(getRuntime(), entry.getKey()); IRubyObject value = JavaUtil.convertJavaToUsableRubyObject(getRuntime(), entry.getValue()); hash.op_aset(getRuntime().getCurrentContext(), key, value); } return hash; } }
@JRubyMethod(name = "transform_keys!") public IRubyObject transform_keys_bang(final ThreadContext context, final Block block) { if (block.isGiven()) { testFrozen("Hash"); RubyArray keys = keys(context); Arrays.stream(keys.toJavaArrayMaybeUnsafe()).forEach((key) -> { op_aset(context, block.yield(context, key), delete(context, key)); }); return this; } return enumeratorizeWithSize(context, this, "transform_keys!", enumSizeFn()); }
@JRubyMethod(name = "transform_keys!") public IRubyObject transform_keys_bang(final ThreadContext context, final Block block) { if (block.isGiven()) { testFrozen("Hash"); RubyArray keys = keys(context); Arrays.stream(keys.toJavaArrayMaybeUnsafe()).forEach((key) -> { op_aset(context, block.yield(context, key), delete(context, key)); }); return this; } return enumeratorizeWithSize(context, this, "transform_keys!", enumSizeFn()); }
private RubyArray getLines(ParserConfiguration configuration, Ruby runtime, String file) { RubyArray list = null; IRubyObject scriptLines = runtime.getObject().getConstantAt("SCRIPT_LINES__"); if (!configuration.isEvalParse() && scriptLines != null) { if (scriptLines instanceof RubyHash) { list = runtime.newArray(); ((RubyHash) scriptLines).op_aset(runtime.getCurrentContext(), runtime.newString(file), list); } } return list; }