MCPcopy Index your code
hub / github.com/clojure/clojure / assocEx

Method assocEx

src/jvm/clojure/lang/PersistentArrayMap.java:227–245  ·  view source on GitHub ↗
(Object key, Object val)

Source from the content-addressed store, hash-verified

225}
226
227public IPersistentMap assocEx(Object key, Object val) {
228 int i = indexOf(key);
229 Object[] newArray;
230 if(i >= 0)
231 {
232 throw Util.runtimeException("Key already present");
233 }
234 else //didn't have key, grow
235 {
236 if(array.length >= HASHTABLE_THRESHOLD)
237 return createHT(array).assocEx(key, val);
238 newArray = new Object[array.length + 2];
239 if(array.length > 0)
240 System.arraycopy(array, 0, newArray, 2, array.length);
241 newArray[0] = key;
242 newArray[1] = val;
243 }
244 return create(newArray);
245}
246
247public IPersistentMap assoc(Object key, Object val){
248 int i = indexOf(key);

Callers

nothing calls this directly

Calls 5

indexOfMethod · 0.95
runtimeExceptionMethod · 0.95
createHTMethod · 0.95
createMethod · 0.95
assocExMethod · 0.65

Tested by

no test coverage detected