Skip to content

Commit 7f1e48a

Browse files
committed
[dx] Deprecate CombineIfRector
Merging nested ifs can create much less readable code and depends on context. Replace the body with a deprecation message, remove its tests, and unregister it from the if set. Skip the type-perfect narrowing of the generic CommentsMerger::keepComments(), which only appears because this rule stopped calling it. Claude-Session: https://claude.ai/code/session_012HQ19gVsT8wVkekuVqVXGx
1 parent 5df5391 commit 7f1e48a

17 files changed

Lines changed: 13 additions & 458 deletions

‎config/set/if.php‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22

33
declare(strict_types=1);
44

5-
use Rector\CodeQuality\Rector\If_\CombineIfRector;
65
use Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector;
76
use Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector;
87
use Rector\Config\RectorConfig;
98

109
return static function (RectorConfig $rectorConfig): void {
1110
$rectorConfig->rules([
1211
ExplicitBoolCompareRector::class,
13-
CombineIfRector::class,
1412
SimplifyIfElseToTernaryRector::class,
1513
]);
1614
};

‎phpstan.neon‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ parameters:
6565
constants: true
6666

6767
ignoreErrors:
68+
# keepComments() is a generic helper; do not narrow it after the deprecated CombineIfRector stopped calling it
69+
-
70+
identifier: typePerfect.narrowPublicClassMethodParamType
71+
path: src/BetterPhpDocParser/Comment/CommentsMerger.php
72+
6873
# the deprecated set objects are still resolved internally, until every extension bonds its rules
6974
-
7075
message: '#deprecated (class|interface) Rector\\(Set|Bridge)\\#'

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/CombineIfRectorTest.php‎

Lines changed: 0 additions & 28 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/docblock.php.inc‎

Lines changed: 0 additions & 51 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/fixture.php.inc‎

Lines changed: 0 additions & 33 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/property_fetch_in_condition.php.inc‎

Lines changed: 0 additions & 33 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/property_fetch_in_condition2.php.inc‎

Lines changed: 0 additions & 33 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/skip_child_else.php.inc‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/skip_child_elseif.php.inc‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎rules-tests/CodeQuality/Rector/If_/CombineIfRector/Fixture/skip_more_statements.php.inc‎

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)