public IPersistentMap assoc(Object k, Object v) { if (k instanceof Keyword) return assoc(((Keyword) k).getName(), v); return new IndifferentAccessMap(getMap().assoc(k, v)); }
public IPersistentMap assoc(Object k, Object v) { if(k instanceof Keyword) return assoc(((Keyword) k).getName(), v); return new IndifferentAccessMap(getMap().assoc(k, v)); }
import clojure.lang.PersistentHashMap; import clojure.lang.IPersistentMap; IPersistentMap map = PersistentHashMap.create("key1", "value1"); assert map.get("key1").equals("value1"); IPersistentMap map2 = map.assoc("key1", "value1"); assert map2 != map; assert map2.get("key1").equals("value1");
synchronized public IRef addWatch(Object key, IFn callback){ watches = watches.assoc(key, callback); return this; }
static public IPersistentMap create(Map other){ IPersistentMap ret = EMPTY; for(Object o : other.entrySet()) { Map.Entry e = (Entry) o; ret = ret.assoc(e.getKey(), e.getValue()); } return ret; }
public MultiFn addMethod(Object dispatchVal, IFn method) { rw.writeLock().lock(); try{ methodTable = getMethodTable().assoc(dispatchVal, method); resetCache(); return this; } finally { rw.writeLock().unlock(); } }
public MultiFn addMethod(Object dispatchVal, IFn method) { rw.writeLock().lock(); try{ methodTable = getMethodTable().assoc(dispatchVal, method); resetCache(); return this; } finally { rw.writeLock().unlock(); } }
static private Object installPlatformFeature(Object opts) { if(opts == null) return RT.mapUniqueKeys(LispReader.OPT_FEATURES, PLATFORM_FEATURES); else { IPersistentMap mopts = (IPersistentMap) opts; Object features = mopts.valAt(OPT_FEATURES); if (features == null) return mopts.assoc(LispReader.OPT_FEATURES, PLATFORM_FEATURES); else return mopts.assoc(LispReader.OPT_FEATURES, RT.conj((IPersistentSet) RT.conj((IPersistentSet) features, PLATFORM_KEY), DUNAJ_KEY)); } }
public boolean replace(K k, V oldv, V newv){ Ref r = bins[binFor(k)]; IPersistentMap map = (IPersistentMap) r.deref(); Entry e = map.entryAt(k); if(e != null && e.getValue().equals(oldv)) { r.set(map.assoc(k, newv)); return true; } return false; }
public IPersistentMap assoc(Object key, Object val){ Map.Entry e = def.keyslots.entryAt(key); if(e != null) { int i = (Integer) e.getValue(); Object[] newVals = vals.clone(); newVals[i] = val; return makeNew(_meta, def, newVals, ext); } return makeNew(_meta, def, vals, ext.assoc(key, val)); }
public IPersistentSet cons(Object o){ if(contains(o)) return this; return new PersistentHashSet(meta(),impl.assoc(o,o)); }
public IPersistentSet cons(Object o){ if(contains(o)) return this; return new PersistentTreeSet(meta(),impl.assoc(o,o)); }
public V putIfAbsent(K k, V v){ Ref r = bins[binFor(k)]; IPersistentMap map = (IPersistentMap) r.deref(); Entry e = map.entryAt(k); if(e == null) { r.set(map.assoc(k, v)); return null; } else return (V) e.getValue(); }
public IPersistentMap assoc(Object key, Object val){ Map.Entry e = def.keyslots.entryAt(key); if(e != null) { int i = (Integer) e.getValue(); Object[] newVals = vals.clone(); newVals[i] = val; return makeNew(_meta, def, newVals, ext); } return makeNew(_meta, def, vals, ext.assoc(key, val)); }
public boolean replace(K k, V oldv, V newv){ Ref r = bins[binFor(k)]; IPersistentMap map = (IPersistentMap) r.deref(); Entry e = map.entryAt(k); if(e != null && e.getValue().equals(oldv)) { r.set(map.assoc(k, newv)); return true; } return false; }
static public PersistentTreeMap create(ISeq items){ IPersistentMap ret = EMPTY; for(; items != null; items = items.next().next()) { if(items.next() == null) throw new IllegalArgumentException(String.format("No value supplied for key: %s", items.first())); ret = ret.assoc(items.first(), RT.second(items)); } return (PersistentTreeMap) ret; }
public static Associative getThreadBindings(){ Frame f = dvals.get(); IPersistentMap ret = PersistentHashMap.EMPTY; for(ISeq bs = f.bindings.seq(); bs != null; bs = bs.next()) { IMapEntry e = (IMapEntry) bs.first(); Var v = (Var) e.key(); TBox b = (TBox) e.val(); ret = ret.assoc(v, b.val); } return ret; }
static public PersistentTreeMap create(Comparator comp, ISeq items){ IPersistentMap ret = new PersistentTreeMap(comp); for(; items != null; items = items.next().next()) { if(items.next() == null) throw new IllegalArgumentException(String.format("No value supplied for key: %s", items.first())); ret = ret.assoc(items.first(), RT.second(items)); } return (PersistentTreeMap) ret; }
@Override public Result interpret(Environment d, IPersistentMap bindings) { Result r=value.interpret(d, bindings); if (r.isExiting()) return r; Object result=r.getResult(); bindings=bindings.assoc(sym, result); return body.interpret(d, bindings); }
public IPersistentMap assoc(Object k, Object v) { if(k instanceof Keyword) return assoc(((Keyword) k).getName(), v); return new IndifferentAccessMap(getMap().assoc(k, v)); }