From e70fcab1691e9694ec55bc06c72d1b8c695a93d6 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 12 Sep 2013 22:14:26 +0400 Subject: [PATCH] not every field with non-annotated constructor initializer is notnull --- .../codeInspection/dataFlow/value/DfaVariableValue.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaVariableValue.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaVariableValue.java index d2daf2de2f5a..ff84ac3572ef 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaVariableValue.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaVariableValue.java @@ -188,6 +188,7 @@ public class DfaVariableValue extends DfaValue { return Nullness.UNKNOWN; } + boolean hasUnknowns = false; for (PsiExpression expression : initializers) { if (!(expression instanceof PsiReferenceExpression)) { return Nullness.UNKNOWN; @@ -200,10 +201,10 @@ public class DfaVariableValue extends DfaValue { return Nullness.NULLABLE; } if (!NullableNotNullManager.isNotNull((PsiParameter)target)) { - return Nullness.NOT_NULL; + hasUnknowns = true; } } - return Nullness.NOT_NULL; + return hasUnknowns ? Nullness.UNKNOWN : Nullness.NOT_NULL; } return Nullness.UNKNOWN;