mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
ReuseVariableDeclarationFix: support array initializers
GitOrigin-RevId: 2b384594722e9e8b92792336b9e39a1479e5e8d4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
568a40ae1c
commit
615388d9cb
@@ -28,6 +28,7 @@ import com.intellij.psi.scope.util.PsiScopesUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.siyeh.ig.psiutils.ExpressionUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -80,7 +81,9 @@ public class ReuseVariableDeclarationFix implements IntentionAction {
|
||||
|
||||
PsiUtil.setModifierProperty(refVariable, PsiModifier.FINAL, false);
|
||||
final PsiElementFactory factory = JavaPsiFacade.getElementFactory(myVariable.getProject());
|
||||
final PsiElement statement = factory.createStatementFromText(myVariable.getName() + " = " + initializer.getText() + ";", null);
|
||||
final PsiElement statement = factory.createStatementFromText(
|
||||
myVariable.getName() + " = " +
|
||||
ExpressionUtils.convertInitializerToExpression(initializer, factory, myVariable.getType()).getText() + ";", null);
|
||||
myVariable.getParent().replace(statement);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
// "Reuse previous variable 'i' declaration" "true"
|
||||
import java.io.*;
|
||||
|
||||
class a {
|
||||
void f(int[] i) {
|
||||
i = new int[]{};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
// "Reuse previous variable 'i' declaration" "true"
|
||||
import java.io.*;
|
||||
|
||||
class a {
|
||||
void f(int[] i) {
|
||||
int[] <caret>i = {};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user