From d93efc10e8b3b2d710a8b37856bfcc86de17fb77 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 2 Dec 2019 09:38:48 +0100 Subject: [PATCH] protected member in final class: remove code duplication GitOrigin-RevId: 6ea87a95bbb9b39cec85129bec6c69538823725e --- ...ProtectedMemberInFinalClassInspection.java | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/ProtectedMemberInFinalClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/ProtectedMemberInFinalClassInspection.java index ef196fbb7c13..e8cd0310f29b 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/ProtectedMemberInFinalClassInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/classlayout/ProtectedMemberInFinalClassInspection.java @@ -159,31 +159,29 @@ public class ProtectedMemberInFinalClassInspection extends BaseInspection { private static class ProtectedMemberInFinalClassVisitor extends BaseInspectionVisitor { + private void checkMember(@NotNull PsiMember member) { + if (!member.hasModifierProperty(PsiModifier.PROTECTED)) { + return; + } + final PsiClass containingClass = member.getContainingClass(); + if (containingClass == null || + !containingClass.hasModifierProperty(PsiModifier.FINAL)) { + return; + } + if (member instanceof PsiMethod && MethodUtils.hasSuper((PsiMethod)member)) { + return; + } + registerModifierError(PsiModifier.PROTECTED, member, PsiModifier.PROTECTED); + } + @Override public void visitMethod(@NotNull PsiMethod method) { - if (!method.hasModifierProperty(PsiModifier.PROTECTED)) { - return; - } - final PsiClass containingClass = method.getContainingClass(); - if (containingClass == null || !containingClass.hasModifierProperty(PsiModifier.FINAL)) { - return; - } - if (MethodUtils.hasSuper(method)) { - return; - } - registerModifierError(PsiModifier.PROTECTED, method, PsiModifier.PROTECTED); + checkMember(method); } @Override public void visitField(@NotNull PsiField field) { - if (!field.hasModifierProperty(PsiModifier.PROTECTED)) { - return; - } - final PsiClass containingClass = field.getContainingClass(); - if (containingClass == null || !containingClass.hasModifierProperty(PsiModifier.FINAL)) { - return; - } - registerModifierError(PsiModifier.PROTECTED, field, PsiModifier.PROTECTED); + checkMember(field); } } } \ No newline at end of file