DataFlowInspectionBase: qualifier check (Review ID: IDEA-CR-28206)

This commit is contained in:
Tagir Valeev
2017-12-29 18:35:28 +07:00
parent 55ceed0e09
commit f688f2edd9
@@ -309,8 +309,10 @@ public class DataFlowInspectionBase extends AbstractBaseJavaLocalInspectionTool
if (assignment != null) {
Object constValue = ExpressionUtils.computeConstantExpression(assignment.getRExpression());
if (constValue == PsiTypesUtil.getDefaultValue(expr.getType())) {
PsiElement target = ((PsiReferenceExpression)expr).resolve();
PsiReferenceExpression ref = (PsiReferenceExpression)expr;
PsiElement target = ref.resolve();
if (target instanceof PsiField &&
(((PsiField)target).hasModifierProperty(PsiModifier.STATIC) || ExpressionUtils.isEffectivelyUnqualified(ref)) &&
((PsiField)target).getContainingClass() == ((PsiClassInitializer)context).getContainingClass()) {
return;
}