public static Keyword intern(Symbol sym){ if(sym.meta() != null) sym = (Symbol) sym.withMeta(null); Util.clearCache(rq, table); Keyword k = new Keyword(sym); Reference<Keyword> existingRef = table.putIfAbsent(sym, new WeakReference<Keyword>(k,rq)); if(existingRef == null) return k; Keyword existingk = existingRef.get(); if(existingk != null) return existingk; //entry died in the interim, do over table.remove(sym, existingRef); return intern(sym); }
public static Keyword intern(Symbol sym){ Keyword k = null; Reference<Keyword> existingRef = table.get(sym); if(existingRef == null) { Util.clearCache(rq, table); if(sym.meta() != null) sym = (Symbol) sym.withMeta(null); k = new Keyword(sym); existingRef = table.putIfAbsent(sym, new WeakReference<Keyword>(k, rq)); } if(existingRef == null) return k; Keyword existingk = existingRef.get(); if(existingk != null) return existingk; //entry died in the interim, do over table.remove(sym, existingRef); return intern(sym); }
Symbol name = (Symbol) Symbol.intern(null,munge(dotname.name)).withMeta(RT.meta(dotname)); IPersistentVector parms = (IPersistentVector) RT.second(form); if(parms.count() == 0)
Symbol name = (Symbol) Symbol.intern(null,munge(dotname.name)).withMeta(RT.meta(dotname)); IPersistentVector parms = (IPersistentVector) RT.second(form); if(parms.count() == 0)
return analyze(context, RT.listStar(Symbol.intern(".invokePrim"), ((Symbol) form.first()).withMeta(RT.map(RT.TAG_KEY, Symbol.intern(primc))), form.next())); break;