IG: don't report a super method call as overridable (IDEA-177140)

This commit is contained in:
Bas Leijdekkers
2017-08-24 11:48:34 +02:00
parent 4713ca664b
commit ea5f87e8cf
2 changed files with 7 additions and 4 deletions
@@ -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)) {
@@ -18,4 +18,9 @@ class Two extends One {
Two() {
<warning descr="Call to overridable method 'a()' during object construction">a</warning>();
}
}
class A implements Cloneable {
protected A clone() throws CloneNotSupportedException {
return (A) super.clone();
}
}