diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java index 940ff26f0ec8..e4dd90a5be7c 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java @@ -306,6 +306,7 @@ public class DataFlowInspectionBase extends AbstractBaseJavaLocalInspectionTool HashSet reportedAnchors, DataFlowInstructionVisitor visitor) { visitor.sameValueAssignments().forEach(expr -> { + expr = PsiUtil.skipParenthesizedExprDown(expr); if(!reportedAnchors.add(expr)) return; PsiAssignmentExpression assignment = PsiTreeUtil.getParentOfType(expr, PsiAssignmentExpression.class); PsiElement context = PsiTreeUtil.getParentOfType(expr, PsiForStatement.class, PsiClassInitializer.class); diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/RedundantAssignment.java b/java/java-tests/testData/inspection/dataFlow/fixture/RedundantAssignment.java index 45f3960af0b6..a209f2f8dcb3 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/RedundantAssignment.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/RedundantAssignment.java @@ -39,4 +39,14 @@ public class RedundantAssignment { a = b; } } + + class X { + int a; + int b; + + { + a = 0; + ((b)) = 0; + } + } } \ No newline at end of file