mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
[java-dfa] Fix NPE reporting on array dimension, test (IJ-CR-4131)
GitOrigin-RevId: 5d756d23f3c3c2bebd4f9e057093f41ccf38a362
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e15a2c8c71
commit
e48d09ba4a
+4
-2
@@ -230,8 +230,10 @@ public final class NullabilityProblemKind<T extends PsiElement> {
|
||||
parent instanceof PsiSynchronizedStatement) {
|
||||
return fieldAccessNPE.problem(context, expression);
|
||||
}
|
||||
if (parent instanceof PsiNewExpression && ((PsiNewExpression)parent).getQualifier() == context) {
|
||||
return innerClassNPE.problem((PsiNewExpression)parent, expression);
|
||||
if (parent instanceof PsiNewExpression) {
|
||||
return ((PsiNewExpression)parent).getQualifier() == context ?
|
||||
innerClassNPE.problem((PsiNewExpression)parent, expression) :
|
||||
createUnboxingProblem(context, expression); // Array dimension
|
||||
}
|
||||
if (parent instanceof PsiPolyadicExpression) {
|
||||
PsiPolyadicExpression polyadic = (PsiPolyadicExpression)parent;
|
||||
|
||||
@@ -8,4 +8,9 @@ class InnerClassTest {
|
||||
|
||||
System.out.println(test.new <warning descr="Inner class construction may produce 'NullPointerException'">Inner</warning>());
|
||||
}
|
||||
|
||||
void dimensionNotInnerClass() {
|
||||
Integer x = null;
|
||||
int[] data = new int[<warning descr="Unboxing of 'x' may produce 'NullPointerException'">x</warning>];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user