mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IPP: keep type parameter list if present (IDEA-175282)
This commit is contained in:
+6
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
+20
@@ -60,6 +60,26 @@ public class ReplaceWithArraysAsListIntentionTest extends IPPTestCase {
|
||||
);
|
||||
}
|
||||
|
||||
public void testTypeParameters() {
|
||||
doTest(
|
||||
"import java.util.*;" +
|
||||
"class X {" +
|
||||
" private List<Object[]> rows;" +
|
||||
" List<Object[]> getRows() {" +
|
||||
" return rows == null ? /*_Replace with 'java.util.Arrays.asList()'*/Collections.<Object[]>emptyList() : rows;" +
|
||||
" }" +
|
||||
"}",
|
||||
|
||||
"import java.util.*;" +
|
||||
"class X {" +
|
||||
" private List<Object[]> rows;" +
|
||||
" List<Object[]> getRows() {" +
|
||||
" return rows == null ? Arrays.<Object[]>asList() : rows;" +
|
||||
" }" +
|
||||
"}"
|
||||
);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
|
||||
Reference in New Issue
Block a user