protected static LongField computeLocatorHash(String name, long namespaceID, long addressKey) {
		// Default functions have no name, no point in storing a hash for those.
		if (StringUtils.isEmpty(name)) {
			return null;
		}

		// store the name/namespace hash in upper 32 bits of the resulting hash and the 
		// addressKey's lower 32 bits in the lower 32 bits of the resulting hash
		long nameNamespaceHash = Objects.hash(name, namespaceID);
		long combinedHash = (nameNamespaceHash << 32) | (addressKey & 0xFFFFFFFFL);
		return new LongField(combinedHash);
	}
Computes a hash value for a symbol that facilitates fast lookups of symbols given
a name, namespace, and address. The hash is formed so that it can also be used for fast
lookups of all symbols that have the same name and namespace regardless of address.
@param name the symbol name
@param namespaceID the namespace id
@param addressKey the encoded address
@return a database Long field containing the computed hash
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapter.java