void (@NotNull PsiAssignmentExpression expression) { PsiExpression lExpression = expression.getLExpression(); if (lExpression instanceof PsiReferenceExpression && ExpressionUtil.isEffectivelyUnqualified((PsiReferenceExpression)lExpression)) { PsiElement target = ((PsiReferenceExpression)lExpression).resolve(); if (target instanceof PsiField) { if (expression.getTextRange().getStartOffset() < statement.getTextRange().getStartOffset()) { assigned.add((PsiField)target); fields.remove(target); } else if (ref == PsiUtil.deparenthesizeExpression(expression.getRExpression()) && !assigned.contains(target)) { fields.add((PsiField)target); } } } super.visitAssignmentExpression(expression); }