[java] TooFewBranchesForSwitch should consider Switch Expressions
Fixes #5250
This commit is contained in:
parent
90f436fd28
commit
b87944a565
@ -36,7 +36,7 @@ The old rule names still work but are deprecated.
|
||||
* [#5067](https://github.com/pmd/pmd/issues/5067): \[java] CloseResource: False positive for FileSystems.getDefault()
|
||||
* java-performance
|
||||
* [#5249](https://github.com/pmd/pmd/issues/5249): \[java] TooFewBranchesForASwitchStatement false positive for Pattern Matching
|
||||
* [#....](https://github.com/pmd/pmd/issues/....): \[java] TooFewBranchesForASwitchStatement should consider Switch Expressions
|
||||
* [#5250](https://github.com/pmd/pmd/issues/5250): \[java] TooFewBranchesForASwitchStatement should consider Switch Expressions
|
||||
|
||||
### 🚨 API Changes
|
||||
* java-bestpractices
|
||||
|
@ -624,7 +624,7 @@ if-else statement to increase code readability.
|
||||
<property name="xpath">
|
||||
<value>
|
||||
<![CDATA[
|
||||
//SwitchStatement[ (count(*) - 1) < $minimumNumberCaseForASwitch ]
|
||||
//(SwitchStatement | SwitchExpression)[ (count(*) - 1) < $minimumNumberCaseForASwitch ]
|
||||
(: exclude pattern matching :)
|
||||
[not(*/SwitchLabel/TypePattern)]
|
||||
]]>
|
||||
|
@ -5,7 +5,7 @@
|
||||
xsi:schemaLocation="http://pmd.sourceforge.net/rule-tests http://pmd.sourceforge.net/rule-tests_1_0_0.xsd">
|
||||
|
||||
<test-code>
|
||||
<description>Only one case, this is useless</description>
|
||||
<description>Switch Statement with only one case, not ok</description>
|
||||
<rule-property name="minimumNumberCaseForASwitch">3</rule-property>
|
||||
<expected-problems>1</expected-problems>
|
||||
<code><![CDATA[
|
||||
@ -22,6 +22,24 @@ public class DumbSwitch {
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>Switch Expression with only one case, not ok</description>
|
||||
<rule-property name="minimumNumberCaseForASwitch">3</rule-property>
|
||||
<expected-problems>1</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class DumbSwitch {
|
||||
public String foo(int i) {
|
||||
return switch (i) {
|
||||
case 0:
|
||||
{
|
||||
yield "I am a fish.";
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>Even two branches is not enough for a switch statement</description>
|
||||
<rule-property name="minimumNumberCaseForASwitch">3</rule-property>
|
||||
|
Loading…
x
Reference in New Issue
Block a user