diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java index 3f0c37459eae..3b1392676056 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/instructions/MethodCallInstruction.java @@ -149,7 +149,7 @@ public class MethodCallInstruction extends Instruction implements ExpressionPush return EMPTY_NULLABILITY_ARRAY; } - int checkedCount = Math.min(myArgCount, parameters.length) - (myVarArgCall ? 1 : 0); + int checkedCount = Math.min(myArgCount, parameters.length - (myVarArgCall ? 1 : 0)); Nullability[] nullabilities = new Nullability[myArgCount]; for (int i = 0; i < checkedCount; i++) { diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java b/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java index cb746af84816..8370f96a162c 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/PassingNullableIntoVararg.java @@ -3,8 +3,12 @@ import org.jetbrains.annotations.NotNull; class Test { public static void test(@NotNull Object... objects) { } + public static void test2(@NotNull Object first, @NotNull Object... rest) { } + public static void main(String[] args) { Object o = null; - test(o); + if(Math.random() > 0.5) test(o); + if(Math.random() > 0.5) test2(o); + if(Math.random() > 0.5) test2(o, o); } } \ No newline at end of file