diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentUtil.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentUtil.java index b3449820c618..af26e99aacaf 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentUtil.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaNullMethodArgumentUtil.java @@ -42,6 +42,10 @@ public class JavaNullMethodArgumentUtil { } public static void searchNullArgument(@NotNull PsiMethod method, final int argumentIdx, @NotNull Processor nullArgumentProcessor) { + final PsiParameter parameter = method.getParameterList().getParameters()[argumentIdx]; + if (parameter.getType() instanceof PsiEllipsisType) { + return; + } final GlobalSearchScope scope = findScopeWhereNullArgumentCanPass(method, argumentIdx); if (scope == null) return; MethodReferencesSearch.search(method, scope, true).forEach(ref -> { diff --git a/java/java-tests/testData/inspection/nullableProblems/NullPassedAsPartNotNullAnnotatedOfVarArg.java b/java/java-tests/testData/inspection/nullableProblems/NullPassedAsPartNotNullAnnotatedOfVarArg.java new file mode 100644 index 000000000000..94b44d3ecee4 --- /dev/null +++ b/java/java-tests/testData/inspection/nullableProblems/NullPassedAsPartNotNullAnnotatedOfVarArg.java @@ -0,0 +1,11 @@ +import org.jetbrains.annotations.NotNull; + +class Test { + static void someMethod(@NotNull Object... varargParameter) { + + } + + public static void main(String[] args) { + someMethod(null, null); + } +} diff --git a/java/java-tests/testSrc/com/intellij/codeInspection/NullableStuffInspectionTest.java b/java/java-tests/testSrc/com/intellij/codeInspection/NullableStuffInspectionTest.java index 0ace266bdc75..1aa9ce489f96 100644 --- a/java/java-tests/testSrc/com/intellij/codeInspection/NullableStuffInspectionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInspection/NullableStuffInspectionTest.java @@ -171,6 +171,10 @@ public class NullableStuffInspectionTest extends LightCodeInsightFixtureTestCase doTest(); } + public void testNullPassedAsPartNotNullAnnotatedOfVarArg() { + doTest(); + } + public void testHonorParameterDefaultInSetters() { DataFlowInspectionTest.addJavaxNullabilityAnnotations(myFixture); DataFlowInspectionTest.addJavaxDefaultNullabilityAnnotations(myFixture);