@Test public void testHashCode() { assertEquals(field.hashCode(), fieldSame.hashCode()); assertEquals(field.hashCode(), fieldComment.hashCode()); assertEquals(fieldSame.hashCode(), fieldComment.hashCode()); assertNotEquals(field.hashCode(), fieldKey.hashCode()); assertNotEquals(field.hashCode(), fieldRequired.hashCode()); assertNotEquals(field.hashCode(), fieldName.hashCode()); assertNotEquals(field.hashCode(), fieldDefault.hashCode()); assertNotEquals(fieldSame.hashCode(), fieldKey.hashCode()); assertNotEquals(fieldSame.hashCode(), fieldRequired.hashCode()); assertNotEquals(fieldSame.hashCode(), fieldName.hashCode()); assertNotEquals(fieldSame.hashCode(), fieldDefault.hashCode()); assertNotEquals(fieldComment.hashCode(), fieldKey.hashCode()); assertNotEquals(fieldComment.hashCode(), fieldRequired.hashCode()); assertNotEquals(fieldComment.hashCode(), fieldName.hashCode()); assertNotEquals(fieldComment.hashCode(), fieldDefault.hashCode()); assertNotEquals(fieldKey.hashCode(), fieldRequired.hashCode()); assertNotEquals(fieldKey.hashCode(), fieldName.hashCode()); assertNotEquals(fieldKey.hashCode(), fieldDefault.hashCode()); assertNotEquals(fieldRequired.hashCode(), fieldName.hashCode()); assertNotEquals(fieldRequired.hashCode(), fieldDefault.hashCode()); assertNotEquals(fieldName.hashCode(), fieldDefault.hashCode()); }
@Override public int hashCode() { return Objects.hash(CField.class, id, requirement, name, getDefaultValue()); }
CField implements PField, CAnnotatedDescriptor { @Override public int hashCode() { return Objects.hash(CField.class, id, requirement, name, getDefaultValue()); } }
CField implements PField, CAnnotatedDescriptor { @Override public int hashCode() { return Objects.hash(CField.class, id, requirement, name, getDefaultValue()); } CField(@Nullable String docs,
                  int id,
                  @Nonnull PRequirement requirement,
                  @Nonnull String name,
                  @Nonnull PDescriptorProvider typeProvider,
                  @Nullable PValueProvider defaultValue,
                  @Nullable Map<String, String> annotations); }
CField implements PField, CAnnotatedDescriptor { @Override public int hashCode() { return Objects.hash(CField.class, id, requirement, name, getDefaultValue()); } CField(@Nullable String docs,
                  int id,
                  @Nonnull PRequirement requirement,
                  @Nonnull String name,
                  @Nonnull PDescriptorProvider typeProvider,
                  @Nullable PValueProvider defaultValue,
                  @Nullable Map<String, String> annotations); @Override String getDocumentation(); @Override int getId(); @Nonnull @Override PRequirement getRequirement(); @Nonnull @Override PType getType(); @Nonnull @Override PDescriptor getDescriptor(); @Nonnull @Override String getName(); @Override boolean hasDefaultValue(); @Override Object getDefaultValue(); @Nonnull @Override @SuppressWarnings("unchecked") Set<String> getAnnotations(); @Override boolean hasAnnotation(@Nonnull String name); @Override String getAnnotationValue(@Nonnull String name); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); }
CField implements PField, CAnnotatedDescriptor { @Override public int hashCode() { return Objects.hash(CField.class, id, requirement, name, getDefaultValue()); } CField(@Nullable String docs,
                  int id,
                  @Nonnull PRequirement requirement,
                  @Nonnull String name,
                  @Nonnull PDescriptorProvider typeProvider,
                  @Nullable PValueProvider defaultValue,
                  @Nullable Map<String, String> annotations); @Override String getDocumentation(); @Override int getId(); @Nonnull @Override PRequirement getRequirement(); @Nonnull @Override PType getType(); @Nonnull @Override PDescriptor getDescriptor(); @Nonnull @Override String getName(); @Override boolean hasDefaultValue(); @Override Object getDefaultValue(); @Nonnull @Override @SuppressWarnings("unchecked") Set<String> getAnnotations(); @Override boolean hasAnnotation(@Nonnull String name); @Override String getAnnotationValue(@Nonnull String name); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }