From ea5f87e8cf90a4fc5af3ce7d6dfbe05c8d52daa1 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 23 Aug 2017 16:43:21 +0200 Subject: [PATCH] IG: don't report a super method call as overridable (IDEA-177140) --- ...bleMethodCallDuringObjectConstructionInspectionBase.java | 6 ++---- .../OverridableMethodCallDuringObjectConstruction.java | 5 +++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/OverridableMethodCallDuringObjectConstructionInspectionBase.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/OverridableMethodCallDuringObjectConstructionInspectionBase.java index 6ec69bbd9bda..5c32dbfa68df 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/OverridableMethodCallDuringObjectConstructionInspectionBase.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/initialization/OverridableMethodCallDuringObjectConstructionInspectionBase.java @@ -52,10 +52,8 @@ public class OverridableMethodCallDuringObjectConstructionInspectionBase extends } final PsiReferenceExpression methodExpression = expression.getMethodExpression(); final PsiExpression qualifier = methodExpression.getQualifierExpression(); - if (qualifier != null) { - if (!(qualifier instanceof PsiThisExpression || qualifier instanceof PsiSuperExpression)) { - return; - } + if (qualifier != null && !(qualifier instanceof PsiThisExpression)) { + return; } final PsiClass containingClass = PsiTreeUtil.getParentOfType(expression, PsiClass.class); if (containingClass == null || containingClass.hasModifierProperty(PsiModifier.FINAL)) { diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/overridable_method_call_during_object_construction/OverridableMethodCallDuringObjectConstruction.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/overridable_method_call_during_object_construction/OverridableMethodCallDuringObjectConstruction.java index 72f1248ab7ce..a4025de920b0 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/overridable_method_call_during_object_construction/OverridableMethodCallDuringObjectConstruction.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/initialization/overridable_method_call_during_object_construction/OverridableMethodCallDuringObjectConstruction.java @@ -18,4 +18,9 @@ class Two extends One { Two() { a(); } +} +class A implements Cloneable { + protected A clone() throws CloneNotSupportedException { + return (A) super.clone(); + } } \ No newline at end of file