Ran
|
Files
308
|
Run time
7s
|
Badge
Embed ▾
README BADGES
|
push
github
Generic/RequireExplicitBooleanOperatorPrecedence: remove unreachable condition This commit reverts the changes to the `Generic.CodeAnalysis.RequireExplicitBooleanOperatorPrecedence` sniff introduced in https://github.com/PHPCSStandards/PHPCSExtra/pull/271/commits/7b38efb98. The sniff's tests remain relevant, so they were preserved. The original commit was added to fix false positives that the sniff was triggering when handling boolean operators inside a match (see https://github.com/PHPCSStandards/PHPCSExtra/pull/271#pullrequestreview -1634348864 and https://github.com/PHPCSStandards/PHPCSExtra/pull/271#issuecomment-1729104556 ). Example: ```php match (true) { $a || ($b && $c) => true, }; ``` I believe the false positive was actually caused by a bug in `File::findStartOfStatement()`. This bug was then fixed in https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/502/commits/b82438f2e which rendered the changes to the sniff itself unnecessary and the removed condition unreachable. Before this fix, when processing the code example above, `File::findStartOfStatement()` returned the variable `$a` as the start of the statement for the `&&` boolean operator. This meant that `$previous` would be set to `||` and the removed condition would be needed to ensure the sniff would bail instead of triggering an error. After this fix, `File::findStartOfStatement()` returns `$b` as the start of the statement and then `$previous` is set to `false` and the sniff bails before reaching the removed condition. Including `Tokens::$blockOpeners` in `RequireExplicitBooleanOperatorPrecedenceSniff::$searchTargets` was necessary only for the removed condition, so it was removed as well.
18583 of 27269 relevant lines covered (68.15%)
22.28 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
---|