int addUninitializedType(final String value, final int bytecodeOffset) {
        final int UNINITIALIZED_TYPE_TAG = 129;

        int hashCode = 0x7FFFFFFF & (UNINITIALIZED_TYPE_TAG + value.hashCode() + bytecodeOffset);
        Symbol entry = entries[hashCode % entries.length];
        while (entry != null) {
            if (entry.tag == UNINITIALIZED_TYPE_TAG
                    && entry.hashCode == hashCode
                    && entry.data == bytecodeOffset
                    && entry.value.equals(value)) {
                return entry.index;
            }
            entry = entry.next;
        }
        return addTypeInternal(
                new Symbol(typeCount, UNINITIALIZED_TYPE_TAG, null, null, value, bytecodeOffset, hashCode));
    }
Adds an {@link 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_UNINITIALIZED} type value.
@return the index of a new or already existing type Symbol with the given value.
core/src/main/java/com/alibaba/fastjson2/internal/asm/SymbolTable.java