diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntention.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntention.java index e517ac7aceb5..08ca45703a01 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntention.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntention.java @@ -72,6 +72,12 @@ public class ReplaceWithArraysAsListIntention extends Intention implements HighP protected void processIntention(@NotNull PsiElement element) { final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)element; final PsiExpressionList argumentList = methodCallExpression.getArgumentList(); + final PsiReferenceExpression methodExpression = methodCallExpression.getMethodExpression(); + final PsiReferenceParameterList parameterList = methodExpression.getParameterList(); + if (parameterList != null) { + final int dotIndex = replacementText.lastIndexOf('.') + 1; + replacementText = replacementText.substring(0, dotIndex) + parameterList.getText() + replacementText.substring(dotIndex); + } PsiReplacementUtil.replaceExpressionAndShorten(methodCallExpression, replacementText + argumentList.getText()); } diff --git a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntentionTest.java b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntentionTest.java index 86ee3058ba8c..1fdc730f1ac6 100644 --- a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntentionTest.java +++ b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/collections/ReplaceWithArraysAsListIntentionTest.java @@ -60,6 +60,26 @@ public class ReplaceWithArraysAsListIntentionTest extends IPPTestCase { ); } + public void testTypeParameters() { + doTest( + "import java.util.*;" + + "class X {" + + " private List rows;" + + " List getRows() {" + + " return rows == null ? /*_Replace with 'java.util.Arrays.asList()'*/Collections.emptyList() : rows;" + + " }" + + "}", + + "import java.util.*;" + + "class X {" + + " private List rows;" + + " List getRows() {" + + " return rows == null ? Arrays.asList() : rows;" + + " }" + + "}" + ); + } + @NotNull @Override protected LightProjectDescriptor getProjectDescriptor() {