From 3025d9325f70340f3efbaade7b2227672e962c97 Mon Sep 17 00:00:00 2001 From: Mikhail Pyltsin Date: Mon, 6 Mar 2023 15:48:07 +0100 Subject: [PATCH] IJ-CR-103109 [java-inspections] IDEA-312036. False-positive `field initializer is redundant`. review fix GitOrigin-RevId: ddbfc0e7bebfe55899771c8fea0a4b386f9f14e7 --- .../codeInspection/defUse/DefUseInspection.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/java-impl-inspections/src/com/intellij/codeInspection/defUse/DefUseInspection.java b/java/java-impl-inspections/src/com/intellij/codeInspection/defUse/DefUseInspection.java index 66ba38cc6b69..e78d89690e0c 100644 --- a/java/java-impl-inspections/src/com/intellij/codeInspection/defUse/DefUseInspection.java +++ b/java/java-impl-inspections/src/com/intellij/codeInspection/defUse/DefUseInspection.java @@ -13,7 +13,6 @@ import com.intellij.codeInspection.dataFlow.value.DfaValueFactory; import com.intellij.codeInspection.dataFlow.value.DfaVariableValue; import com.intellij.codeInspection.options.OptPane; import com.intellij.java.JavaBundle; -import com.intellij.openapi.progress.ProgressManager; import com.intellij.psi.*; import com.intellij.psi.augment.PsiAugmentProvider; import com.intellij.psi.controlFlow.*; @@ -22,6 +21,8 @@ import com.intellij.psi.util.PsiUtil; import com.intellij.util.ObjectUtils; import com.intellij.util.containers.ContainerUtil; import com.siyeh.ig.psiutils.EquivalenceChecker; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -85,7 +86,7 @@ public class DefUseInspection extends AbstractBaseJavaLocalInspectionTool { if (parent instanceof PsiAssignmentExpression && ((PsiAssignmentExpression)parent).getOperationTokenType() == JavaTokenType.EQ && EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent( - ((PsiAssignmentExpression)parent).getLExpression(), ((PsiAssignmentExpression)context).getLExpression())) { + ((PsiAssignmentExpression)parent).getLExpression(), ((PsiAssignmentExpression)context).getLExpression())) { // x = x = 5; reported by "Variable is assigned to itself" continue; } @@ -267,10 +268,9 @@ public class DefUseInspection extends AbstractBaseJavaLocalInspectionTool { List results = new ArrayList<>(); PsiManager manager = field.getManager(); List edges = ControlFlowUtil.getEdges(flow, 0); - Map> edgesFromStart = new HashMap<>(); + Int2ObjectMap> edgesFromStart = new Int2ObjectOpenHashMap<>(); List instructions = flow.getInstructions(); for (ControlFlowUtil.ControlFlowEdge edge : edges) { - ProgressManager.checkCanceled(); List existedEdge = edgesFromStart.get(edge.myFrom); if (existedEdge != null) { existedEdge.add(edge); @@ -285,7 +285,7 @@ public class DefUseInspection extends AbstractBaseJavaLocalInspectionTool { ArrayDeque unprocessedInstructions = new ArrayDeque<>(); unprocessedInstructions.add(0); while (!unprocessedInstructions.isEmpty()) { - Integer currentPoint = unprocessedInstructions.poll(); + int currentPoint = unprocessedInstructions.poll(); if (instructions.size() <= currentPoint) { return results; } @@ -300,7 +300,7 @@ public class DefUseInspection extends AbstractBaseJavaLocalInspectionTool { untilAssignment.set(currentPoint); List nextPoints = edgesFromStart.get(currentPoint); if (nextPoints != null) { - unprocessedInstructions.addAll(ContainerUtil.map(nextPoints, t->t.myTo)); + unprocessedInstructions.addAll(ContainerUtil.map(nextPoints, t -> t.myTo)); } } for (int index : untilAssignment.stream().toArray()) {