diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/afterBroken.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/afterBroken.java new file mode 100644 index 000000000000..70ca52ccbe5e --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/afterBroken.java @@ -0,0 +1,11 @@ +// "Split into declaration and assignment" "true" + +class Foo { + { + int fieldIndexes; + fieldIndexes = getFieldIndexes(Hellonew String[;]{""}); + } + public int getFieldIndexes(String[] columns) { + return 0; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/beforeBroken.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/beforeBroken.java new file mode 100644 index 000000000000..7e3fbb13197d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/splitDeclaration/beforeBroken.java @@ -0,0 +1,10 @@ +// "Split into declaration and assignment" "true" + +class Foo { + { + int fieldIndexes = getFieldIndexes(Hellonew String[]{""}); + } + public int getFieldIndexes(String[] columns) { + return 0; + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java index 6ae2f163d021..d4ac1a869ba0 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/ExpressionUtils.java @@ -1662,7 +1662,10 @@ public final class ExpressionUtils { return (PsiAssignmentExpression)((PsiExpressionStatement)block.addAfter(statement, declaration)).getExpression(); } finally { - initializer.delete(); + initializer = var.getInitializer(); + if (initializer != null) { + initializer.delete(); + } } } }