@Override public final int hashCode() { int hash = getType().hashCode(); GenericType<?> definingType = getDefiningType(); if (definingType != null) { hash = hash * 31 + definingType.hashCode(); } return hash; }
@Override public final boolean equals(Object other) { if (other == null) { return false; } if (other == this) { return true; } if (other instanceof AbstractGenericType<?>) { AbstractGenericType<?> otherType = (AbstractGenericType<?>) other; if (getType().equals(otherType.getType())) { GenericType<?> definingType = getDefiningType(); if (definingType == null) { return (otherType.getDefiningType() == null); } else { return (definingType.equals(otherType.getDefiningType())); } } } return false; }
GenericType<?> definingType = ((AbstractGenericType<?>) declaringType).getDefiningType(); if (definingType != null) { return resolveTypeVariable(typeVariable, definingType, declaringClass);