NullnessUtil#getExpressionNullness: fixed for reference expressions

This commit is contained in:
Tagir Valeev
2017-12-26 17:18:38 +07:00
parent c926ba64aa
commit 4e47300868
@@ -172,10 +172,6 @@ public class NullnessUtil {
if (expression instanceof PsiTypeCastExpression) {
return getExpressionNullness(((PsiTypeCastExpression)expression).getOperand(), useDataflow);
}
if (expression instanceof PsiReferenceExpression) {
PsiElement target = ((PsiReferenceExpression)expression).resolve();
return DfaPsiUtil.getElementNullability(expression.getType(), (PsiModifierListOwner)target);
}
if (expression instanceof PsiAssignmentExpression) {
PsiAssignmentExpression assignment = (PsiAssignmentExpression)expression;
if(assignment.getOperationTokenType().equals(JavaTokenType.EQ)) {
@@ -186,6 +182,10 @@ public class NullnessUtil {
if (useDataflow) {
return fromBoolean(CommonDataflow.getExpressionFact(expression, DfaFactType.CAN_BE_NULL));
}
if (expression instanceof PsiReferenceExpression) {
PsiElement target = ((PsiReferenceExpression)expression).resolve();
return DfaPsiUtil.getElementNullability(expression.getType(), (PsiModifierListOwner)target);
}
if (expression instanceof PsiMethodCallExpression) {
PsiMethod method = ((PsiMethodCallExpression)expression).resolveMethod();
return method != null ? DfaPsiUtil.getElementNullability(expression.getType(), method) : Nullness.UNKNOWN;