From 83e613fa2fa2c4f2d5b875751cc63b41789f0b76 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 7 Apr 2022 13:29:34 +0700 Subject: [PATCH] [java-inspections] SwitchStatementWithTooFewBranches: description updated, serialization fixed GitOrigin-RevId: 456b695eebd902ca48cb6fb2102b1450d9aa7902 --- .../SwitchStatementWithTooFewBranchesInspection.java | 10 +++++++--- .../SwitchStatementWithTooFewBranches.html | 9 +++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java index 7ed527e0fc12..8b02c8e0e08f 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java @@ -20,9 +20,7 @@ import com.intellij.codeInsight.daemon.impl.quickfix.UnwrapSwitchLabelFix; import com.intellij.codeInspection.CommonQuickFixBundle; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.codeInspection.SetInspectionOptionFix; -import com.intellij.codeInspection.ui.InspectionOptionsPanel; import com.intellij.codeInspection.ui.SingleIntegerFieldOptionsPanel; -import com.intellij.java.JavaBundle; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; @@ -33,7 +31,7 @@ import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.DelegatingFix; import com.siyeh.ig.InspectionGadgetsFix; import com.siyeh.ig.psiutils.SwitchUtils; -import one.util.streamex.StreamEx; +import org.jdom.Element; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -94,6 +92,12 @@ public class SwitchStatementWithTooFewBranchesInspection extends BaseInspection return fixes.toArray(InspectionGadgetsFix.EMPTY_ARRAY); } + @Override + public void writeSettings(@NotNull Element node) { + defaultWriteSettings(node, "ignorePatternSwitch"); + writeBooleanOption(node, "ignorePatternSwitch", false); + } + @Override public BaseInspectionVisitor buildVisitor() { return new MinimumSwitchBranchesVisitor(); diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/SwitchStatementWithTooFewBranches.html b/plugins/InspectionGadgets/src/inspectionDescriptions/SwitchStatementWithTooFewBranches.html index 9c680d259d20..15dbdb80f9aa 100644 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/SwitchStatementWithTooFewBranches.html +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/SwitchStatementWithTooFewBranches.html @@ -21,5 +21,14 @@ and

Configure the inspection:

Use the Minimum number of branches field to specify the minimum expected number of case labels.

+

Use the Do not report pattern switch statements option to avoid reporting switch statements and expressions that +have pattern branches. E.g.:

+

+  String result = switch(obj) {
+    case String str -> str.trim();
+    default -> "none";
+  };
+
+

It might be preferred to keep the switch even with a single pattern branch, rather than using the instanceof statement.

\ No newline at end of file