diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java')
-rw-r--r-- | java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java index 4756a5b25a47..5ccdc398684f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,6 +29,7 @@ import com.intellij.psi.*; import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.util.RefactoringChangeUtil; +import com.intellij.refactoring.util.RefactoringUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -126,9 +127,7 @@ public abstract class BaseMoveInitializerToMethodAction extends PsiElementBaseIn final PsiExpressionStatement statement = (PsiExpressionStatement)factory.createStatementFromText(field.getName() + " = y;", codeBlock); PsiExpression initializer = field.getInitializer(); - if (initializer instanceof PsiArrayInitializerExpression) { - initializer = arrayInitializerToNewExpression((PsiArrayInitializerExpression)initializer, factory, codeBlock); - } + initializer = RefactoringUtil.convertInitializerToNormalExpression(initializer, field.getType()); final PsiAssignmentExpression expression = (PsiAssignmentExpression)statement.getExpression(); expression.getRExpression().replace(initializer); @@ -158,15 +157,6 @@ public abstract class BaseMoveInitializerToMethodAction extends PsiElementBaseIn return false; } - private static PsiExpression arrayInitializerToNewExpression(@NotNull PsiArrayInitializerExpression initializer, - @NotNull PsiElementFactory factory, - @NotNull PsiElement context) { - final PsiType type = initializer.getType(); - final PsiNewExpression newExpression = (PsiNewExpression)factory.createExpressionFromText("new " + type.getCanonicalText() + "{}", context); - newExpression.getArrayInitializer().replace(initializer); - return newExpression; - } - private static boolean containsReference(final @NotNull PsiElement element, final @NotNull PsiField field) { final Ref<Boolean> result = new Ref<Boolean>(Boolean.FALSE); |