From e00ecc9156e35c29481efe3ff0005b3bdc3da424 Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Mon, 4 Feb 2019 14:54:59 +0300 Subject: [PATCH] Java: Shortened text messages for highlighting of duplicate values and branches in enhanced 'switch' (IDEA-202629) --- .../DuplicateBranchesInSwitchInspection.java | 86 ++++--------------- .../CaseLabelsExpression.java | 2 +- .../CaseLabelsExpressionDefaultFirst.java | 2 +- .../CaseLabelsExpressionDefaultLast.java | 2 +- .../CaseLabelsExpressionSameComments.java | 2 +- .../ExpressionParentheses.java | 2 +- .../ReturnInStatement.java | 2 +- .../SimpleExpression.java | 2 +- .../SimpleStatement.java | 2 +- .../StatementParentheses.java | 2 +- .../ThrowInExpression.java | 2 +- .../ThrowInStatement.java | 2 +- ...ExpressionDuplicateAfterDefaultDelete.java | 2 +- ...xpressionDuplicateBeforeDefaultDelete.java | 2 +- ...nDuplicateBeforeDefaultDeleteAdjacent.java | 2 +- ...ExpressionDuplicateAfterDefaultDelete.java | 2 +- ...xpressionDuplicateBeforeDefaultDelete.java | 2 +- ...nDuplicateBeforeDefaultDeleteAdjacent.java | 2 +- .../duplicateBranchesInSwitch/Assignment.java | 4 +- .../BreakAndReturnUnderIf.java | 2 +- .../ComplexBranches.java | 2 +- .../duplicateBranchesInSwitch/Continue.java | 2 +- .../DuplicateAfterDefault.java | 2 +- .../FallThroughToBreak.java | 4 +- .../ManySimilarBranches.java | 62 ++++++------- .../MethodCallInReturn.java | 4 +- .../NoLastBreak.java | 2 +- .../Parentheses.java | 2 +- .../duplicateBranchesInSwitch/Return.java | 2 +- .../ReturnWithComments.java | 12 +-- .../duplicateBranchesInSwitch/Simple.java | 2 +- .../ThreeDuplicates.java | 4 +- .../ThreeDuplicatesDefault.java | 4 +- .../duplicateBranchesInSwitch/Throw.java | 2 +- .../TwoCaseLabels.java | 2 +- .../DuplicateBranchesInSwitchSuite.java | 1 + .../src/messages/InspectionsBundle.properties | 21 ++--- 37 files changed, 98 insertions(+), 158 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/DuplicateBranchesInSwitchInspection.java b/java/java-impl/src/com/intellij/codeInspection/DuplicateBranchesInSwitchInspection.java index c69c35555266..813ccbef05d1 100644 --- a/java/java-impl/src/com/intellij/codeInspection/DuplicateBranchesInSwitchInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/DuplicateBranchesInSwitchInspection.java @@ -275,27 +275,23 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { private static class MergeBranchesFix implements LocalQuickFix { @NotNull private final String mySwitchLabelText; - private final boolean myInExpression; - MergeBranchesFix(@NotNull String switchLabelText, boolean inExpression) { + MergeBranchesFix(@NotNull String switchLabelText) { mySwitchLabelText = switchLabelText; - myInExpression = inExpression; } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getFamilyName() { - return myInExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.fix.family.name") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.fix.family.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.merge.fix.family.name"); } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getName() { - return InspectionsBundle.message("inspection.duplicate.branches.in.switch.fix.name", mySwitchLabelText); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.merge.fix.name", mySwitchLabelText); } @Override @@ -329,26 +325,19 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { } private static class DeleteRedundantBranchFix implements LocalQuickFix { - private final boolean myInExpression; - - private DeleteRedundantBranchFix(boolean inExpression) { - myInExpression = inExpression; - } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getName() { - return InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.fix.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.delete.fix.name"); } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getFamilyName() { - return myInExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.expression.fix.family.name") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.fix.family.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.delete.fix.family.name"); } @Override @@ -538,15 +527,11 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { } String getCaseBranchMessage() { - return myInExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.message") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.statement.message"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.message"); } String getDefaultBranchMessage() { - return myInExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.default.message") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.statement.default.message"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.default.message"); } @Override @@ -681,7 +666,7 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { @Override LocalQuickFix newMergeCasesFix() { String switchLabelText = getSwitchLabelText(); - return switchLabelText != null ? new MergeBranchesFix(switchLabelText, myInExpression) : null; + return switchLabelText != null ? new MergeBranchesFix(switchLabelText) : null; } @Override @@ -691,7 +676,7 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { @Override LocalQuickFix newDeleteCaseFix() { - return new DeleteRedundantBranchFix(myInExpression); + return new DeleteRedundantBranchFix(); } /** @@ -798,7 +783,6 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { } private static class Rule extends BranchBase { - private final boolean myIsResult; private final boolean myIsSimpleExit; Rule(@NotNull PsiSwitchLabeledRuleStatement rule, @NotNull PsiStatement body, @NotNull String[] commentTexts) { @@ -806,7 +790,6 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { new PsiStatement[]{body}, commentTexts); - myIsResult = body instanceof PsiExpressionStatement; myIsSimpleExit = body instanceof PsiExpressionStatement || body instanceof PsiThrowStatement; } @@ -820,31 +803,11 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { return false; } - @Override - String getCaseBranchMessage() { - if (myInExpression) { - return myIsResult - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.result.message") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.message"); - } - return super.getCaseBranchMessage(); - } - - @Override - String getDefaultBranchMessage() { - if (myInExpression) { - return myIsResult - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.default.result.message") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.default.message"); - } - return super.getDefaultBranchMessage(); - } - @Nullable @Override LocalQuickFix newMergeCasesFix() { String switchLabelText = getSwitchLabelText(); - return switchLabelText != null ? new MergeRulesFix(switchLabelText, isResultExpression()) : null; + return switchLabelText != null ? new MergeRulesFix(switchLabelText) : null; } @Override @@ -854,37 +817,29 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { @Override LocalQuickFix newDeleteCaseFix() { - return new DeleteRedundantRuleFix(isResultExpression()); - } - - private boolean isResultExpression() { - return myInExpression && myIsResult; + return new DeleteRedundantRuleFix(); } } private static class MergeRulesFix implements LocalQuickFix { @NotNull private final String mySwitchLabelText; - private final boolean myIsResultExpression; - MergeRulesFix(@NotNull String switchLabelText, boolean isResultExpression) { + MergeRulesFix(@NotNull String switchLabelText) { mySwitchLabelText = switchLabelText; - myIsResultExpression = isResultExpression; } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getFamilyName() { - return myIsResultExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.expression.fix.family.name") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.fix.family.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.merge.fix.family.name"); } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getName() { - return InspectionsBundle.message("inspection.duplicate.branches.in.switch.fix.name", mySwitchLabelText); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.merge.fix.name", mySwitchLabelText); } @Override @@ -898,28 +853,19 @@ public class DuplicateBranchesInSwitchInspection extends LocalInspectionTool { } private static class DeleteRedundantRuleFix implements LocalQuickFix { - private final boolean myIsResultExpression; - - DeleteRedundantRuleFix(boolean isResultExpression) { - myIsResultExpression = isResultExpression; - } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getName() { - return myIsResultExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.expression.fix.name") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.fix.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.delete.fix.name"); } @Nls(capitalization = Nls.Capitalization.Sentence) @NotNull @Override public String getFamilyName() { - return myIsResultExpression - ? InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.expression.fix.family.name") - : InspectionsBundle.message("inspection.duplicate.branches.in.switch.redundant.fix.family.name"); + return InspectionsBundle.message("inspection.duplicate.branches.in.switch.delete.fix.family.name"); } @Override diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpression.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpression.java index 10ff237cbb71..df6d8b91435a 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpression.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpression.java @@ -6,7 +6,7 @@ class C { case 2: break "b"; case 3: - break "a"; + break "a"; default: break ""; }; diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultFirst.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultFirst.java index 1b86bbbf4335..d0ce32d5bda4 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultFirst.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultFirst.java @@ -7,7 +7,7 @@ class C { case 2: break "b"; case 3: - break "a"; + break "a"; }; } } \ No newline at end of file diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultLast.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultLast.java index 54d41a124d55..70f28327bfa1 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultLast.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionDefaultLast.java @@ -2,7 +2,7 @@ class C { void test(int n) { String s = switch (n) { case 1: - break "a"; + break "a"; case 2: break "b"; case 3: diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionSameComments.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionSameComments.java index 34035a0a5294..5f55aff25d39 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionSameComments.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/CaseLabelsExpressionSameComments.java @@ -6,7 +6,7 @@ class C { case 2: break "b"; case 3: - break "a"; // same comment + break "a"; // same comment default: break ""; }; diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ExpressionParentheses.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ExpressionParentheses.java index 8e28a3e704b0..6379f8db99a0 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ExpressionParentheses.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ExpressionParentheses.java @@ -2,7 +2,7 @@ class C { String test(int i) { return switch (i) { case 0 -> null; - case 1 -> (null); + case 1 -> (null); default -> ""; }; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ReturnInStatement.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ReturnInStatement.java index af3138baf412..5c40a31a9026 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ReturnInStatement.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ReturnInStatement.java @@ -3,7 +3,7 @@ class C { return switch (n) { case 1 -> "A"; case 2 -> "B"; - case 3 -> "A"; + case 3 -> "A"; default -> ""; }; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleExpression.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleExpression.java index 1f60738ff1b2..e8bfc5d9abe8 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleExpression.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleExpression.java @@ -3,7 +3,7 @@ class C { String string = switch (n) { case 1 -> bar("A"); case 2 -> bar("B"); - case 3 -> bar("A"); + case 3 -> bar("A"); default -> ""; }; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleStatement.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleStatement.java index 948ef11901aa..f0d4cb5e9f8a 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleStatement.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/SimpleStatement.java @@ -3,7 +3,7 @@ class C { switch (n) { case 1 -> bar("A"); case 2 -> bar("B"); - case 3 -> bar("A"); + case 3 -> bar("A"); } } void bar(String s){} diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/StatementParentheses.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/StatementParentheses.java index 427560266afa..af89b19389e3 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/StatementParentheses.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/StatementParentheses.java @@ -4,7 +4,7 @@ class C { case 0 ->{ return null; } - case 1 ->{ + case 1 ->{ return (null); } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInExpression.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInExpression.java index 9a1ecfc6f582..766681c413bd 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInExpression.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInExpression.java @@ -3,7 +3,7 @@ class C { String string = switch (n) { case 1 -> throw new IllegalArgumentException(); case 2 -> throw new IllegalStateException(); - case 3 -> throw new IllegalArgumentException(); + case 3 -> throw new IllegalArgumentException(); default -> ""; }; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInStatement.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInStatement.java index c5c80b5c5d84..a07b0c5d6d1d 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInStatement.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitch/ThrowInStatement.java @@ -3,7 +3,7 @@ class C { switch (n) { case 1 -> throw new IllegalArgumentException(); case 2 -> throw new IllegalStateException(); - case 3 -> throw new IllegalArgumentException(); + case 3 -> throw new IllegalArgumentException(); } } } \ No newline at end of file diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateAfterDefaultDelete.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateAfterDefaultDelete.java index 3a7856ff93c0..42bce24c3bd4 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateAfterDefaultDelete.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateAfterDefaultDelete.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDelete.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDelete.java index d778394d1bcd..5520fd47b87b 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDelete.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDelete.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDeleteAdjacent.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDeleteAdjacent.java index d778394d1bcd..5520fd47b87b 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDeleteAdjacent.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/afterExpressionDuplicateBeforeDefaultDeleteAdjacent.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateAfterDefaultDelete.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateAfterDefaultDelete.java index c0d30dd573a3..485f96a6d9e6 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateAfterDefaultDelete.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateAfterDefaultDelete.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDelete.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDelete.java index d0f4dde0acf3..a8545cf6b526 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDelete.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDelete.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDeleteAdjacent.java b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDeleteAdjacent.java index dfd840b71ced..b50d3e58a94b 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDeleteAdjacent.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInEnhancedSwitchFix/beforeExpressionDuplicateBeforeDefaultDeleteAdjacent.java @@ -1,4 +1,4 @@ -// "Delete redundant 'switch' result expression" "GENERIC_ERROR_OR_WARNING" +// "Delete redundant 'switch' branch" "GENERIC_ERROR_OR_WARNING" class C { void foo(int n) { String s = switch (n) { diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Assignment.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Assignment.java index 05e52111051d..0c17c5baed8c 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Assignment.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Assignment.java @@ -3,8 +3,8 @@ class C { String s; switch (n) { case 0: s = a(); break; - case 1: s = a(); break; - case 2: s = b(); break; + case 1: s = a(); break; + case 2: s = b(); break; default: s = b(); } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/BreakAndReturnUnderIf.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/BreakAndReturnUnderIf.java index ab22f4bbd344..ef3591c58f85 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/BreakAndReturnUnderIf.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/BreakAndReturnUnderIf.java @@ -14,7 +14,7 @@ class C { break; } case 3: - if(b) { + if(b) { return bar("A"); } else { break; diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ComplexBranches.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ComplexBranches.java index 1c33db404c4b..dd72ac35f3ad 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ComplexBranches.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ComplexBranches.java @@ -18,7 +18,7 @@ class C { bar("o"); break; case 3: - if(b) { + if(b) { bar("A"); } else { bar("z"); diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Continue.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Continue.java index 8b5f677511c1..596a5ced55ae 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Continue.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Continue.java @@ -9,7 +9,7 @@ class C { case 2: continue; case 3: - s += i; + s += i; continue; default: s += i; diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/DuplicateAfterDefault.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/DuplicateAfterDefault.java index 2e11cf08416c..7b4749a7b9de 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/DuplicateAfterDefault.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/DuplicateAfterDefault.java @@ -8,7 +8,7 @@ class C { bar("A"); break; case 1: - bar("A"); + bar("A"); break; } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/FallThroughToBreak.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/FallThroughToBreak.java index c4fcf393799b..344a1c5cf5fc 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/FallThroughToBreak.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/FallThroughToBreak.java @@ -6,10 +6,10 @@ class C { case 2: break; case 3: - bar("A"); + bar("A"); break; case 4: - bar("A"); + bar("A"); case 5: } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ManySimilarBranches.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ManySimilarBranches.java index a9837a19b235..cd99923bf985 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ManySimilarBranches.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ManySimilarBranches.java @@ -13,7 +13,7 @@ class C { case 6: bar("F");break; case 7: bar("G");break; case 8: bar("H");break; - case 9: bar("A");break; + case 9: bar("A");break; case 11: return Collections.singletonMap(k + 1, Collections.singletonList("A")); case 12: return Collections.singletonMap(k + 2, Collections.singletonList("B")); @@ -23,7 +23,7 @@ class C { case 16: return Collections.singletonMap(k + 6, Collections.singletonList("F")); case 17: return Collections.singletonMap(k + 7, Collections.singletonList("G")); case 18: return Collections.singletonMap(k + 8, Collections.singletonList("H")); - case 19: return Collections.singletonMap(k + 1, Collections.singletonList("A")); + case 19: return Collections.singletonMap(k + 1, Collections.singletonList("A")); case 21: synchronized (lock) { bar("A"); }break; case 22: synchronized (lock) { bar("B"); }break; @@ -33,7 +33,7 @@ class C { case 26: synchronized (lock) { bar("F"); }break; case 27: synchronized (lock) { bar("G"); }break; case 28: synchronized (lock) { bar("H"); }break; - case 29: synchronized (lock) { bar("A"); }break; + case 29: synchronized (lock) { bar("A"); }break; case 31: assert k == 1;break; case 32: assert k == 2;break; @@ -43,36 +43,36 @@ class C { case 36: assert k == 6;break; case 37: assert k == 7;break; case 38: assert k == 8;break; - case 39: assert k == 1;break; + case 39: assert k == 1;break; case 41: if (k > 0) bar("A"); else bar("B");break; - case 42: if (k > 0) bar("A"); else bar("B");break; - case 43: if (k > 0) bar("A"); else bar("B");break; - case 44: if (k > 0) bar("A"); else bar("B");break; - case 45: if (k > 0) bar("A"); else bar("B");break; - case 46: if (k > 0) bar("A"); else bar("B");break; - case 47: if (k > 0) bar("A"); else bar("B");break; - case 48: if (k > 0) bar("A"); else bar("B");break; - case 49: if (k > 0) bar("A"); else bar("B");break; - case 50: if (k > 0) bar("A"); else bar("B");break; - case 51: if (k > 0) bar("A"); else bar("B");break; - case 52: if (k > 0) bar("A"); else bar("B");break; - case 53: if (k > 0) bar("A"); else bar("B");break; - case 54: if (k > 0) bar("A"); else bar("B");break; - case 55: if (k > 0) bar("A"); else bar("B");break; - case 56: if (k > 0) bar("A"); else bar("B");break; - case 57: if (k > 0) bar("A"); else bar("B");break; - case 58: if (k > 0) bar("A"); else bar("B");break; - case 59: if (k > 0) bar("A"); else bar("B");break; - case 61: if (k > 0) bar("A"); else bar("B");break; - case 62: if (k > 0) bar("A"); else bar("B");break; - case 63: if (k > 0) bar("A"); else bar("B");break; - case 64: if (k > 0) bar("A"); else bar("B");break; - case 65: if (k > 0) bar("A"); else bar("B");break; - case 66: if (k > 0) bar("A"); else bar("B");break; - case 67: if (k > 0) bar("A"); else bar("B");break; - case 68: if (k > 0) bar("A"); else bar("B");break; - case 69: if (k > 0) bar("A"); else bar("B");break; + case 42: if (k > 0) bar("A"); else bar("B");break; + case 43: if (k > 0) bar("A"); else bar("B");break; + case 44: if (k > 0) bar("A"); else bar("B");break; + case 45: if (k > 0) bar("A"); else bar("B");break; + case 46: if (k > 0) bar("A"); else bar("B");break; + case 47: if (k > 0) bar("A"); else bar("B");break; + case 48: if (k > 0) bar("A"); else bar("B");break; + case 49: if (k > 0) bar("A"); else bar("B");break; + case 50: if (k > 0) bar("A"); else bar("B");break; + case 51: if (k > 0) bar("A"); else bar("B");break; + case 52: if (k > 0) bar("A"); else bar("B");break; + case 53: if (k > 0) bar("A"); else bar("B");break; + case 54: if (k > 0) bar("A"); else bar("B");break; + case 55: if (k > 0) bar("A"); else bar("B");break; + case 56: if (k > 0) bar("A"); else bar("B");break; + case 57: if (k > 0) bar("A"); else bar("B");break; + case 58: if (k > 0) bar("A"); else bar("B");break; + case 59: if (k > 0) bar("A"); else bar("B");break; + case 61: if (k > 0) bar("A"); else bar("B");break; + case 62: if (k > 0) bar("A"); else bar("B");break; + case 63: if (k > 0) bar("A"); else bar("B");break; + case 64: if (k > 0) bar("A"); else bar("B");break; + case 65: if (k > 0) bar("A"); else bar("B");break; + case 66: if (k > 0) bar("A"); else bar("B");break; + case 67: if (k > 0) bar("A"); else bar("B");break; + case 68: if (k > 0) bar("A"); else bar("B");break; + case 69: if (k > 0) bar("A"); else bar("B");break; } return Collections.emptyMap(); } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/MethodCallInReturn.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/MethodCallInReturn.java index 9b59d388f217..f304e97eb1e1 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/MethodCallInReturn.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/MethodCallInReturn.java @@ -7,10 +7,10 @@ enum T { return t.ordinal(); // comment 1 case B: - return t.ordinal(); + return t.ordinal(); case C: - return t.ordinal(); // comment 2 + return t.ordinal(); // comment 2 default: return 0; diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/NoLastBreak.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/NoLastBreak.java index ba5a9b985323..c80c007c19c6 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/NoLastBreak.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/NoLastBreak.java @@ -8,7 +8,7 @@ class C { bar("B"); break; case 3: - bar("A"); + bar("A"); } } void bar(String s){} diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Parentheses.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Parentheses.java index 5ab056215787..566c8c3a01fc 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Parentheses.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Parentheses.java @@ -2,7 +2,7 @@ class C { String test(int i) { switch (i) { case 0: return null; - case 1: return (null); + case 1: return (null); } return ""; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Return.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Return.java index 279d6f216b5c..fc50633a268c 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Return.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Return.java @@ -6,7 +6,7 @@ class C { case 2: return "B"; case 3: - return "A"; + return "A"; } return ""; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ReturnWithComments.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ReturnWithComments.java index c0cea839f630..3ba67727c6f3 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ReturnWithComments.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ReturnWithComments.java @@ -13,24 +13,24 @@ enum C { return "A"; case LINE_COMMENT: // comment 1 - return "A"; + return "A"; case COMMENT_INSIDE_THE_CODE: - return /* comment 1 */"A"; + return /* comment 1 */"A"; case JAVADOC_COMMENT: /** comment 1 */ - return "A"; + return "A"; case COMMENT_WITH_NEW_LINES: /* comment 1 */ - return "A"; + return "A"; case EMPTY_COMMENTS_ARE_IGNORED: /* comment 1 */ // - return "A"; + return "A"; // comment 1 case COMMENT_RIGHT_BEFORE_A_CASE_IS_ATTACHED_TO_THAT_CASE: - return "A"; + return "A"; } return ""; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Simple.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Simple.java index 9ea8da8ad9c3..bb0c0275a31b 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Simple.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Simple.java @@ -8,7 +8,7 @@ class C { bar("B"); break; case 3: - bar("A"); + bar("A"); break; } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicates.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicates.java index a0f999f4ed9b..1f487f18d1e3 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicates.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicates.java @@ -8,10 +8,10 @@ class C { bar("B"); break; case 3: - bar("A"); + bar("A"); break; case 4: - bar("A"); + bar("A"); break; } } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicatesDefault.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicatesDefault.java index d5497c91382f..05af5fedc09c 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicatesDefault.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/ThreeDuplicatesDefault.java @@ -2,13 +2,13 @@ class C { void foo(int n) { switch (n) { case 1: - bar("A"); + bar("A"); break; case 2: bar("B"); break; case 3: - bar("A"); + bar("A"); break; default: bar("A"); diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Throw.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Throw.java index 7021fa2adfd6..ac900caf94c8 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Throw.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/Throw.java @@ -6,7 +6,7 @@ class C { case 2: throw new IllegalStateException("A"); case 3: - throw new IllegalArgumentException("A"); + throw new IllegalArgumentException("A"); } return ""; } diff --git a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/TwoCaseLabels.java b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/TwoCaseLabels.java index 3396a9fb2a53..09338258dd83 100644 --- a/java/java-tests/testData/inspection/duplicateBranchesInSwitch/TwoCaseLabels.java +++ b/java/java-tests/testData/inspection/duplicateBranchesInSwitch/TwoCaseLabels.java @@ -6,7 +6,7 @@ class C { bar("A"); break; case 3: - bar("A"); + bar("A"); break; case 4: bar("B"); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInspection/DuplicateBranchesInSwitchSuite.java b/java/java-tests/testSrc/com/intellij/java/codeInspection/DuplicateBranchesInSwitchSuite.java index d15bb534e298..646408ff3b01 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInspection/DuplicateBranchesInSwitchSuite.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInspection/DuplicateBranchesInSwitchSuite.java @@ -5,6 +5,7 @@ import org.junit.runner.RunWith; import org.junit.runners.Suite; /** + * Tests for {@link com.intellij.codeInspection.DuplicateBranchesInSwitchInspection} * @author Pavel.Dolgov */ @RunWith(Suite.class) diff --git a/platform/platform-resources-en/src/messages/InspectionsBundle.properties b/platform/platform-resources-en/src/messages/InspectionsBundle.properties index 8127a4b22da8..e5c5c55fca39 100644 --- a/platform/platform-resources-en/src/messages/InspectionsBundle.properties +++ b/platform/platform-resources-en/src/messages/InspectionsBundle.properties @@ -1051,20 +1051,13 @@ inspection.switch.expression.backward.expression.migration.inspection.name='swit inspection.switch.expression.backward.statement.migration.inspection.name='switch' statement can be replaced with old style 'switch' statement inspection.replace.with.old.style.switch.statement.fix.name=Replace with old style 'switch' statement -inspection.duplicate.branches.in.switch.display.name=Duplicate branches in 'switch' statement -inspection.duplicate.branches.in.switch.statement.message=Duplicate branch in 'switch' statement -inspection.duplicate.branches.in.switch.expression.message=Duplicate branch in 'switch' expression -inspection.duplicate.branches.in.switch.result.message=Duplicate result expression in 'switch' expression -inspection.duplicate.branches.in.switch.statement.default.message=Branch in 'switch' statement is a duplicate of the default branch -inspection.duplicate.branches.in.switch.expression.default.message=Branch in 'switch' expression is a duplicate of the default branch -inspection.duplicate.branches.in.switch.default.result.message=Result expression in 'switch' expression is a duplicate of the default result -inspection.duplicate.branches.in.switch.fix.family.name=Merge duplicate branches of 'switch' statement -inspection.duplicate.branches.in.switch.expression.fix.family.name=Merge duplicate results of 'switch' expression -inspection.duplicate.branches.in.switch.fix.name=Merge with ''{0}'' -inspection.duplicate.branches.in.switch.redundant.fix.family.name=Delete redundant branches of 'switch' statement -inspection.duplicate.branches.in.switch.redundant.expression.fix.family.name=Delete redundant branches of 'switch' expression -inspection.duplicate.branches.in.switch.redundant.fix.name=Delete redundant 'switch' branch -inspection.duplicate.branches.in.switch.redundant.expression.fix.name=Delete redundant 'switch' result expression +inspection.duplicate.branches.in.switch.display.name=Duplicate branches in 'switch' +inspection.duplicate.branches.in.switch.message=Duplicate branch in 'switch' +inspection.duplicate.branches.in.switch.default.message=Branch in 'switch' is a duplicate of the default branch +inspection.duplicate.branches.in.switch.merge.fix.family.name=Merge duplicate branches in 'switch' +inspection.duplicate.branches.in.switch.merge.fix.name=Merge with ''{0}'' +inspection.duplicate.branches.in.switch.delete.fix.family.name=Delete redundant 'switch' branches +inspection.duplicate.branches.in.switch.delete.fix.name=Delete redundant 'switch' branch inspection.duplicate.branches.in.switch.merge.with.default.fix.name=Merge with the default 'switch' branch inspection.switch.labeled.rule.can.be.code.block.display.name=Labeled switch rule can have code block