diff --git a/java/java-impl/src/com/intellij/codeInspection/defUse/DefUseInspection.java b/java/java-impl/src/com/intellij/codeInspection/defUse/DefUseInspection.java index edd718b0bd7f..54868389fb17 100644 --- a/java/java-impl/src/com/intellij/codeInspection/defUse/DefUseInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/defUse/DefUseInspection.java @@ -94,7 +94,7 @@ public class DefUseInspection extends DefUseInspectionBase { protected void sideEffectAwareRemove(Project project, PsiElement psiInitializer, PsiElement elementToDelete, PsiVariable variable) { if (!FileModificationService.getInstance().prepareFileForWrite(psiInitializer.getContainingFile())) return; - final PsiDeclarationStatement declaration = (PsiDeclarationStatement)variable.getParent(); + final PsiElement declaration = variable.getParent(); final List sideEffects = new ArrayList(); boolean hasSideEffects = RemoveUnusedVariableUtil.checkSideEffects(psiInitializer, variable, sideEffects); int res = RemoveUnusedVariableUtil.DELETE_ALL; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterParameterAssignment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterParameterAssignment.java new file mode 100644 index 000000000000..6d20a3f8a12f --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/afterParameterAssignment.java @@ -0,0 +1,7 @@ +// "Remove redundant assignment" "true" +class A { + void m(int i) { + i = 0; + System.out.println(i); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeParameterAssignment.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeParameterAssignment.java new file mode 100644 index 000000000000..d65c37194715 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unusedAssignment/beforeParameterAssignment.java @@ -0,0 +1,8 @@ +// "Remove redundant assignment" "true" +class A { + void m(int i) { + i = 9; + i = 0; + System.out.println(i); + } +} \ No newline at end of file