@Override protected int doHash(Iterable<T> iterable) { int hash = 78721; for (T element : iterable) { hash = hash * 24943 + elementEquivalence.hash(element); } return hash; }
/** Returns the result of {@link Equivalence#hash(Object)} applied to the wrapped reference. */ @Override public int hashCode() { return equivalence.hash(reference); }
@Override protected int doHash(F a) { return resultEquivalence.hash(function.apply(a)); }
@Override protected int doHash(Iterable<T> iterable) { int hash = 78721; for (T element : iterable) { hash = hash * 24943 + elementEquivalence.hash(element); } return hash; }
/** Returns the result of {@link Equivalence#hash(Object)} applied to the wrapped reference. */ @Override public int hashCode() { return equivalence.hash(reference); }
@Override protected int doHash(Iterable<T> iterable) { int hash = 78721; for (T element : iterable) { hash = hash * 24943 + elementEquivalence.hash(element); } return hash; }
/** Returns the result of {@link Equivalence#hash(Object)} applied to the wrapped reference. */ @Override public int hashCode() { return equivalence.hash(reference); }
@Override protected int doHash(F a) { return resultEquivalence.hash(function.apply(a)); }
int hash(Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
@Override protected int doHash(F a) { return resultEquivalence.hash(function.apply(a)); }
private void testItems() { for (T item : items) { /* * TODO(cpovirk): consider no longer running these equivalent() tests on every Equivalence, * since the Equivalence base type now implements this logic itself */ assertTrue(item + " must be inequivalent to null", !equivalence.equivalent(item, null)); assertTrue("null must be inequivalent to " + item, !equivalence.equivalent(null, item)); assertTrue(item + " must be equivalent to itself", equivalence.equivalent(item, item)); assertEquals( "the hash of " + item + " must be consistent", equivalence.hash(item), equivalence.hash(item)); } } }
int hash(Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
int hash(@Nullable Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
int hash(Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
int hash(@NullableDecl Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
private void assertRelated(int groupNumber, int itemNumber, int relatedItemNumber) { Item<T> itemInfo = getItem(groupNumber, itemNumber); Item<T> relatedInfo = getItem(groupNumber, relatedItemNumber); T item = itemInfo.value; T related = relatedInfo.value; assertWithTemplate( "$ITEM must be $RELATIONSHIP to $OTHER", itemInfo, relatedInfo, equivalence.equivalent(item, related)); int itemHash = equivalence.hash(item); int relatedHash = equivalence.hash(related); assertWithTemplate( "the $HASH (" + itemHash + ") of $ITEM must be equal to the $HASH (" + relatedHash + ") of $OTHER", itemInfo, relatedInfo, itemHash == relatedHash); }
int hash(@NullableDecl Object key) { int h = keyEquivalence.hash(key); return rehash(h); }
@Override public int hashCode() { return AnnotationMirrors.equivalence().hash(this); } }
@Override public int hashCode() { return Objects.hash(input, table.getQualifiedName(), operation, updateColumnList, MutableRel.PAIRWISE_STRING_EQUIVALENCE.hash(sourceExpressionList), flattened); }
@Override public int hashCode() { return 31 * ExprEquivalence.get().hash(switchExpr) + ExprEquivalence.get().pairwise().hash(caseExprs); } }