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

Method addUninitializedType

src/jvm/clojure/asm/SymbolTable.java:1169–1183  ·  view source on GitHub ↗

Adds an Frame#ITEM_UNINITIALIZED type in the type table of this symbol table. Does nothing if the type table already contains a similar type. @param value an internal class name. @param bytecodeOffset the bytecode offset of the NEW instruction that created this {@link Frame#ITEM_UNINITI

(final String value, final int bytecodeOffset)

Source from the content-addressed store, hash-verified

1167 * @return the index of a new or already existing type Symbol with the given value.
1168 */
1169 int addUninitializedType(final String value, final int bytecodeOffset) {
1170 int hashCode = hash(Symbol.UNINITIALIZED_TYPE_TAG, value, bytecodeOffset);
1171 Entry entry = get(hashCode);
1172 while (entry != null) {
1173 if (entry.tag == Symbol.UNINITIALIZED_TYPE_TAG
1174 && entry.hashCode == hashCode
1175 && entry.data == bytecodeOffset
1176 && entry.value.equals(value)) {
1177 return entry.index;
1178 }
1179 entry = entry.next;
1180 }
1181 return addType(
1182 new Entry(typeCount, Symbol.UNINITIALIZED_TYPE_TAG, value, bytecodeOffset, hashCode));
1183 }
1184
1185 /**
1186 * Adds a merged type in the type table of this symbol table. Does nothing if the type table

Callers 2

executeMethod · 0.80

Calls 4

hashMethod · 0.95
getMethod · 0.95
addTypeMethod · 0.95
equalsMethod · 0.45

Tested by

no test coverage detected