mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
generate equals: skip equals generated in the same class (IDEA-170746)
This commit is contained in:
@@ -226,8 +226,19 @@ public class GenerateEqualsHelper implements Runnable {
|
||||
LOG.assertTrue(myClass.isValid());
|
||||
PsiMethod superEquals = MethodSignatureUtil.findMethodBySignature(myClass, methodSignature, true);
|
||||
if (superEquals == null) return true;
|
||||
PsiClass containingClass = superEquals.getContainingClass();
|
||||
//implicit equals e.g. generated by lombok
|
||||
if (containingClass == myClass) {
|
||||
return Arrays.stream(superEquals.findSuperMethods()).anyMatch(superMethod -> {
|
||||
PsiClass superClass = superMethod.getContainingClass();
|
||||
return !superMethod.hasModifierProperty(PsiModifier.ABSTRACT) &&
|
||||
superClass != null &&
|
||||
!CommonClassNames.JAVA_LANG_OBJECT.equals(superClass.getQualifiedName());
|
||||
});
|
||||
}
|
||||
if (superEquals.hasModifierProperty(PsiModifier.ABSTRACT)) return false;
|
||||
return !CommonClassNames.JAVA_LANG_OBJECT.equals(superEquals.getContainingClass().getQualifiedName());
|
||||
if (containingClass == null) return false;
|
||||
return !CommonClassNames.JAVA_LANG_OBJECT.equals(containingClass.getQualifiedName());
|
||||
}
|
||||
|
||||
private PsiMethod createHashCode() throws IncorrectOperationException {
|
||||
|
||||
Reference in New Issue
Block a user