diff --git a/java/java-impl/src/com/intellij/codeInspection/RemoveAssignmentFix.java b/java/java-impl/src/com/intellij/codeInspection/RemoveAssignmentFix.java index b80e3a07121d..9db065ad321f 100644 --- a/java/java-impl/src/com/intellij/codeInspection/RemoveAssignmentFix.java +++ b/java/java-impl/src/com/intellij/codeInspection/RemoveAssignmentFix.java @@ -40,7 +40,7 @@ public class RemoveAssignmentFix extends RemoveInitializerFix { if (!(parent instanceof PsiAssignmentExpression)) return; final PsiExpression rExpression = ((PsiAssignmentExpression)parent).getRExpression(); final PsiElement gParent = parent.getParent(); - if (gParent instanceof PsiExpression && rExpression != null) { + if ((gParent instanceof PsiExpression || gParent instanceof PsiExpressionList) && rExpression != null) { if (!FileModificationService.getInstance().prepareFileForWrite(gParent.getContainingFile())) return; if (gParent instanceof PsiParenthesizedExpression) { gParent.replace(rExpression); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterCallAsArgument.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterCallAsArgument.java new file mode 100644 index 000000000000..6ef1870458fb --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterCallAsArgument.java @@ -0,0 +1,11 @@ +// "Remove redundant assignment" "true" +class Test { + void foo() { + String var; + this.bar("someString"); + } + + void bar(String arg) { + + } +} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeCallAsArgument.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeCallAsArgument.java new file mode 100644 index 000000000000..116cc94e30f4 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeCallAsArgument.java @@ -0,0 +1,11 @@ +// "Remove redundant assignment" "true" +class Test { + void foo() { + String var; + this.bar(var = "someString"); + } + + void bar(String arg) { + + } +}