MCPcopy Create free account
hub / github.com/e2wugui/zeze / put

Method put

ZezeJava/ZezeJava/src/main/java/Zeze/Util/Json.java:388–410  ·  view source on GitHub ↗
(int idx, @NotNull FieldMeta fieldMeta)

Source from the content-addressed store, hash-verified

386 }
387
388 void put(int idx, @NotNull FieldMeta fieldMeta) {
389 fieldMeta.next = null;
390 fieldMetas[idx] = fieldMeta;
391 int hash = fieldMeta.hash;
392 int i = hash & (valueTable.length - 1);
393 FieldMeta fm = valueTable[i];
394 if (fm == null) { // fast path
395 valueTable[i] = fieldMeta;
396 return;
397 }
398 for (; ; ) {
399 if (fm.hash == hash) { // bad luck! try to call setKeyHashMultiplier with another prime number
400 throw new IllegalStateException("conflicted field names: " + fieldMeta.getName() + " & "
401 + fm.getName() + " in " + fieldMeta.klass.getName());
402 }
403 FieldMeta next = fm.next;
404 if (next == null) {
405 fm.next = fieldMeta;
406 return;
407 }
408 fm = next;
409 }
410 }
411 }
412
413 private static final @NotNull MethodHandles.Lookup lookup = MethodHandles.lookup();

Callers 1

ClassMetaMethod · 0.95

Calls 2

getNameMethod · 0.95
getNameMethod · 0.65

Tested by

no test coverage detected