public TridentTuple create(TridentTupleView parent, List<Object> selfVals) { IPersistentVector curr = parent._delegates; curr = (IPersistentVector) RT.conj(curr, selfVals); return new TridentTupleView(curr, _index, _fieldIndex); }
private static int registerConstant(Object o){ if(!CONSTANTS.isBound()) return -1; PersistentVector v = (PersistentVector) CONSTANTS.deref(); IdentityHashMap<Object,Integer> ids = (IdentityHashMap<Object,Integer>) CONSTANT_IDS.deref(); Integer i = ids.get(o); if(i != null) return i; CONSTANTS.set(RT.conj(v, o)); ids.put(o, v.count()); return v.count(); }
public TridentTuple create(TridentTupleView parent, List<Object> selfVals) { IPersistentVector curr = parent._delegates; curr = (IPersistentVector) RT.conj(curr, selfVals); return new TridentTupleView(curr, _index, _fieldIndex); }
public TridentTuple create(TridentTupleView parent, List<Object> selfVals) { IPersistentVector curr = parent._delegates; curr = (IPersistentVector) RT.conj(curr, selfVals); return new TridentTupleView(curr, _index, _fieldIndex); }
public TridentTuple create(TridentTupleView parent, List<Object> selfVals) { IPersistentVector curr = parent._delegates; curr = (IPersistentVector) RT.conj(curr, selfVals); return new TridentTupleView(curr, _index, _fieldIndex); }
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 MultiFn preferMethod(Object dispatchValX, Object dispatchValY) { rw.writeLock().lock(); try { if(prefers(dispatchValY, dispatchValX)) throw new IllegalStateException( String.format("Preference conflict in multimethod '%s': %s is already preferred to %s", name, dispatchValY, dispatchValX)); preferTable = getPreferTable().assoc(dispatchValX, RT.conj((IPersistentCollection) RT.get(getPreferTable(), dispatchValX, PersistentHashSet.EMPTY), dispatchValY)); resetCache(); return this; } finally { rw.writeLock().unlock(); } }
public MultiFn preferMethod(Object dispatchValX, Object dispatchValY) { rw.writeLock().lock(); try { if(prefers(dispatchValY, dispatchValX)) throw new IllegalStateException( String.format("Preference conflict in multimethod '%s': %s is already preferred to %s", name, dispatchValY, dispatchValX)); preferTable = getPreferTable().assoc(dispatchValX, RT.conj((IPersistentCollection) RT.get(getPreferTable(), dispatchValX, PersistentHashSet.EMPTY), dispatchValY)); resetCache(); return this; } finally { rw.writeLock().unlock(); } }
private static int registerConstant(Object o){ if(!CONSTANTS.isBound()) return -1; PersistentVector v = (PersistentVector) CONSTANTS.deref(); IdentityHashMap<Object,Integer> ids = (IdentityHashMap<Object,Integer>) CONSTANT_IDS.deref(); Integer i = ids.get(o); if(i != null) return i; CONSTANTS.set(RT.conj(v, o)); ids.put(o, v.count()); return v.count(); }
sites = RT.conj(sites,this); CLEAR_SITES.set(RT.assoc(CLEAR_SITES.get(), b, sites));
sites = RT.conj(sites,this); CLEAR_SITES.set(RT.assoc(CLEAR_SITES.get(), b, sites));
methods = RT.conj(methods, m);
methods = RT.conj(methods, m);