|
4 | 4 |
|
5 | 5 | namespace Rector\DeadCode\Rector\If_; |
6 | 6 |
|
| 7 | +use PhpParser\Node\Stmt\ElseIf_; |
7 | 8 | use PhpParser\Node; |
8 | 9 | use PhpParser\Node\Expr\BinaryOp\BooleanAnd; |
9 | 10 | use PhpParser\Node\Stmt\Else_; |
@@ -100,16 +101,14 @@ public function refactor(Node $node): int|null|If_ |
100 | 101 | return $this->refactor($node) ?? $node; |
101 | 102 | } |
102 | 103 |
|
103 | | - if ($node->elseifs !== []) { |
104 | | - foreach ($node->elseifs as $elseif) { |
105 | | - $keep_elseifs = array_filter( |
106 | | - $node->elseifs, |
107 | | - fn ($elseif) => $elseif->stmts !== [] || $this->sideEffectNodeDetector->detect($elseif->cond) |
108 | | - ); |
109 | | - if (count($node->elseifs) !== count($keep_elseifs)) { |
110 | | - $node->elseifs = $keep_elseifs; |
111 | | - return $this->refactor($node) ?? $node; |
112 | | - } |
| 104 | + foreach ($node->elseifs as $elseif) { |
| 105 | + $keep_elseifs = array_filter( |
| 106 | + $node->elseifs, |
| 107 | + fn (ElseIf_ $elseif): bool => $elseif->stmts !== [] || $this->sideEffectNodeDetector->detect($elseif->cond) |
| 108 | + ); |
| 109 | + if (count($node->elseifs) !== count($keep_elseifs)) { |
| 110 | + $node->elseifs = $keep_elseifs; |
| 111 | + return $this->refactor($node) ?? $node; |
113 | 112 | } |
114 | 113 | } |
115 | 114 |
|
@@ -141,6 +140,7 @@ public function refactor(Node $node): int|null|If_ |
141 | 140 | if (count($node->elseifs) > 1) { |
142 | 141 | $if->elseifs = \array_slice($node->elseifs, 1); |
143 | 142 | } |
| 143 | + |
144 | 144 | return $this->refactor($if) ?? $if; |
145 | 145 | } |
146 | 146 |
|
|
0 commit comments