expand diamonds on introduce parameter (IDEA-74059)

This commit is contained in:
anna
2011-09-08 19:22:03 +02:00
parent e9baca15d1
commit e2ae76304d
3 changed files with 13 additions and 1 deletions

View File

@@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.impl.PsiDiamondTypeUtil;
import com.intellij.psi.javadoc.PsiDocTag;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
@@ -90,8 +91,11 @@ public class JavaIntroduceParameterMethodUsagesProcessor implements IntroducePar
else {
PsiElement initializer =
ExpressionConverter.getExpression(data.getParameterInitializer().getExpression(), StdLanguages.JAVA, data.getProject());
substituteTypeParametersInInitializer(initializer, callExpression, argList, methodToSearchFor);
assert initializer instanceof PsiExpression;
if (initializer instanceof PsiNewExpression) {
initializer = PsiDiamondTypeUtil.expandTopLevelDiamondsInside((PsiNewExpression)initializer);
}
substituteTypeParametersInInitializer(initializer, callExpression, argList, methodToSearchFor);
ChangeContextUtil.encodeContextInfo(initializer, true);
PsiExpression newArg = (PsiExpression)argList.addAfter(initializer, anchor);
ChangeContextUtil.decodeContextInfo(newArg, null, null);

View File

@@ -6,4 +6,8 @@ class Test {
List<String> lss = anObject;
List<Integer> li = new ArrayList<>();
}
void bar() {
foo(new ArrayList<String>());
}
}

View File

@@ -6,4 +6,8 @@ class Test {
List<String> lss = new ArrayList<>();
List<Integer> li = new ArrayList<>();
}
void bar() {
foo();
}
}