diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaExpressionFactory.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaExpressionFactory.java index 1d31756d3656..bc357b44028c 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaExpressionFactory.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/value/DfaExpressionFactory.java @@ -136,7 +136,7 @@ public class DfaExpressionFactory { } if (DfaValueFactory.isEffectivelyUnqualified(refExpr) || isStaticFinalConstantWithoutInitializationHacks(var)) { - if (isFieldDereferenceBeforeInitialization(refExpr)) { + if (isFieldDereferenceBeforeInitialization(refExpr) && !(refExpr.getType() instanceof PsiPrimitiveType)) { return myFactory.getConstFactory().getNull(); } diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/IgnoreNullabilityOnPrimitiveCast.java b/java/java-tests/testData/inspection/dataFlow/fixture/IgnoreNullabilityOnPrimitiveCast.java index 0fa48439939c..dabcee68bd22 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/IgnoreNullabilityOnPrimitiveCast.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/IgnoreNullabilityOnPrimitiveCast.java @@ -4,4 +4,13 @@ class IgnoreNullabilityOnPrimitiveCast { private static int map(@Nullable int[] mapping, int idx) { return mapping[idx]; } + + static final int TEST; + + static { + TEST = 4; + } + + final int[] arr = {TEST}; + final int val = TEST; } \ No newline at end of file