From c6016b645ebc5613fa65b52958581b4a4e32f6d4 Mon Sep 17 00:00:00 2001 From: "Andrey.Cherkasov" Date: Thu, 7 Jul 2022 20:36:03 +0400 Subject: [PATCH] [java-inspections] SwitchStatementWithTooFewBranches: provide quick-fix "Unwrap 'switch'" in case default label element IDEA-274278 GitOrigin-RevId: 97c04cf69e8bffbc1be2d2fd1f6dfae05bd6c986 --- .../quickFix/switchDefault/afterSingleCaseDefault2.java | 6 ++++++ .../quickFix/switchDefault/beforeSingleCaseDefault2.java | 8 ++++++++ .../SwitchStatementWithTooFewBranchesInspection.java | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterSingleCaseDefault2.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeSingleCaseDefault2.java diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterSingleCaseDefault2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterSingleCaseDefault2.java new file mode 100644 index 000000000000..79460e8132dc --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/afterSingleCaseDefault2.java @@ -0,0 +1,6 @@ +// "Unwrap 'switch'" "true" +class Test { + void foo(Object obj) { + int answer = 42; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeSingleCaseDefault2.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeSingleCaseDefault2.java new file mode 100644 index 000000000000..86ee2b5db372 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/switchDefault/beforeSingleCaseDefault2.java @@ -0,0 +1,8 @@ +// "Unwrap 'switch'" "true" +class Test { + void foo(Object obj) { + int answer = switch (obj) { + case default -> 42; + }; + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java index 08623a29456d..25a834274ac4 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/controlflow/SwitchStatementWithTooFewBranchesInspection.java @@ -147,7 +147,7 @@ public class SwitchStatementWithTooFewBranchesInspection extends BaseInspection PsiStatement[] statements = body.getStatements(); if (statements.length == 1 && statements[0] instanceof PsiSwitchLabeledRuleStatement) { PsiSwitchLabeledRuleStatement statement = (PsiSwitchLabeledRuleStatement)statements[0]; - fixIsAvailable = statement.isDefaultCase() && statement.getBody() instanceof PsiExpressionStatement; + fixIsAvailable = SwitchUtils.isDefaultLabel(statement) && statement.getBody() instanceof PsiExpressionStatement; } else { fixIsAvailable = false;