IDEA-27659 (Introduce Variable: Can produce bad code with array initializers)

This commit is contained in:
Bas Leijdekkers
2011-04-11 16:28:55 +02:00
parent a8672805de
commit 6dadded665
@@ -628,7 +628,13 @@ public abstract class IntroduceVariableBase extends IntroduceHandlerBase impleme
public static PsiElement replace(final PsiExpression expr1, final PsiExpression ref, final Project project)
throws IncorrectOperationException {
final PsiExpression expr2 = RefactoringUtil.outermostParenthesizedExpression(expr1);
final PsiExpression expr2;
if (expr1 instanceof PsiArrayInitializerExpression &&
expr1.getParent() instanceof PsiNewExpression) {
expr2 = (PsiNewExpression) expr1.getParent();
} else {
expr2 = RefactoringUtil.outermostParenthesizedExpression(expr1);
}
if (expr2.isPhysical()) {
return expr2.replace(ref);
}