simpler override checks when generating equals

This commit is contained in:
peter
2013-08-01 16:19:06 +02:00
parent 83a2d9cb96
commit ec8fcaccce
2 changed files with 9 additions and 13 deletions

View File

@@ -106,6 +106,12 @@ public class GenerateEqualsHelper implements Runnable {
return id;
}
private static boolean shouldAddOverrideAnnotation(PsiElement context) {
CodeStyleSettings style = CodeStyleSettingsManager.getSettings(context.getProject());
return style.INSERT_OVERRIDE_ANNOTATION && PsiUtil.isLanguageLevel5OrHigher(context);
}
@Override
public void run() {
try {
@@ -133,8 +139,7 @@ public class GenerateEqualsHelper implements Runnable {
else {
if (!mySuperHasHashCode) {
@NonNls String text = "";
CodeStyleSettings styleSettings = CodeStyleSettingsManager.getSettings(myProject);
if (GenerateMembersUtil.shouldAddOverrideAnnotation(myClass, false)) {
if (shouldAddOverrideAnnotation(myClass)) {
text += "@Override\n";
}
@@ -172,7 +177,7 @@ public class GenerateEqualsHelper implements Runnable {
@NonNls StringBuffer buffer = new StringBuffer();
CodeStyleSettings styleSettings = CodeStyleSettingsManager.getSettings(myProject);
if (GenerateMembersUtil.shouldAddOverrideAnnotation(myClass, false)) {
if (shouldAddOverrideAnnotation(myClass)) {
buffer.append("@Override\n");
}
buffer.append("public boolean equals(Object ").append(myParameterName).append(") {\n");
@@ -327,8 +332,7 @@ public class GenerateEqualsHelper implements Runnable {
private PsiMethod createHashCode() throws IncorrectOperationException {
@NonNls StringBuilder buffer = new StringBuilder();
CodeStyleSettings styleSettings = CodeStyleSettingsManager.getSettings(myProject);
if (GenerateMembersUtil.shouldAddOverrideAnnotation(myClass, false)) {
if (shouldAddOverrideAnnotation(myClass)) {
buffer.append("@Override\n");
}
buffer.append("public int hashCode() {\n");

View File

@@ -495,14 +495,6 @@ public class GenerateMembersUtil {
}
}
public static boolean shouldAddOverrideAnnotation(PsiElement context, boolean interfaceMethod) {
CodeStyleSettings style = CodeStyleSettingsManager.getSettings(context.getProject());
if (!style.INSERT_OVERRIDE_ANNOTATION) return false;
if (interfaceMethod) return PsiUtil.isLanguageLevel6OrHigher(context);
return PsiUtil.isLanguageLevel5OrHigher(context);
}
public static void setupGeneratedMethod(PsiMethod method) {
PsiClass base = method.getContainingClass().getSuperClass();
PsiMethod overridden = base == null ? null : base.findMethodBySignature(method, true);