Skip to content

Commit

Permalink
Merge pull request #32 from mkacct/quick-fix
Browse files Browse the repository at this point in the history
Improve readability in RequiredOverridesCheck
  • Loading branch information
rhit-shirakrk authored Mar 25, 2024
2 parents 30355d5 + 1e96c90 commit 6945a83
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/main/java/domain/RequiredOverridesCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ public Set<Message> run(Map<String, ClassData> classes, Configuration config) {
private void validateCompareToImpliesEquals(ClassData classData, Set<Message> messages) {
if (classData.getInterfaceFullNames().contains("java.lang.Comparable")) {
String[] compareToParamTypes = new String[] {classData.getFullName()};
if (classHasMethod(classData, "compareTo", compareToParamTypes) && !classHasMethod(classData, "equals", TYPES_1_OBJECT)) {
boolean hasCompareTo = classHasMethod(classData, "compareTo", compareToParamTypes);
boolean hasEquals = classHasMethod(classData, "equals", TYPES_1_OBJECT);
if (hasCompareTo && !hasEquals) {
messages.add(new Message(
MessageLevel.WARNING,
"Class implementing Comparable overrides compareTo but not equals",
Expand All @@ -44,7 +46,9 @@ private void validateCompareToImpliesEquals(ClassData classData, Set<Message> me
}

private void validateEqualsImpliesHashCode(ClassData classData, Set<Message> messages) {
if (classHasMethod(classData, "equals", TYPES_1_OBJECT) && !classHasMethod(classData, "hashCode", TYPES_EMPTY)) {
boolean hasEquals = classHasMethod(classData, "equals", TYPES_1_OBJECT);
boolean hasHashCode = classHasMethod(classData, "hashCode", TYPES_EMPTY);
if (hasEquals && !hasHashCode) {
messages.add(new Message(
MessageLevel.ERROR,
"Class overrides equals but not hashCode",
Expand Down

0 comments on commit 6945a83

Please sign in to comment.