From 1a4a5c09bb7e524fc4fe6cbfb852ca6cd04573df Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Fri, 13 Jul 2018 12:48:59 +0300 Subject: [PATCH] IPP: fix AIOOBE --- .../ipp/varargs/VarargArgumentsPredicate.java | 2 +- ...gArgumentsWithExplicitArrayIntentionTest.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/varargs/VarargArgumentsPredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/varargs/VarargArgumentsPredicate.java index 3e30d2c16754..4ab97b6b0065 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/varargs/VarargArgumentsPredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/varargs/VarargArgumentsPredicate.java @@ -60,7 +60,7 @@ class VarargArgumentsPredicate implements PsiElementPredicate { if (!JavaGenericsUtil.isReifiableType(substitutedType)) { return false; } - if (arguments.length > parameters.length) { + if (arguments.length != parameters.length) { return true; } final PsiExpression lastExpression = arguments[arguments.length - 1]; diff --git a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/vararg/WrapVarargArgumentsWithExplicitArrayIntentionTest.java b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/vararg/WrapVarargArgumentsWithExplicitArrayIntentionTest.java index 23b774e5dc8c..601ab22ebef5 100644 --- a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/vararg/WrapVarargArgumentsWithExplicitArrayIntentionTest.java +++ b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/vararg/WrapVarargArgumentsWithExplicitArrayIntentionTest.java @@ -105,4 +105,20 @@ public class WrapVarargArgumentsWithExplicitArrayIntentionTest extends IPPTestCa "}" ); } + + public void testEmptyArray() { + doTest( + "class X {" + + " void x() {" + + " java.util.Arrays.asList(/*_Wrap vararg arguments with explicit array creation*/);" + + " }" + + "}", + + "class X {" + + " void x() {" + + " java.util.Arrays.asList(new Object[]{});" + + " }" + + "}" + ); + } }