Skip to content

Commit 1cc7eda

Browse files
committed
combine if
1 parent d8952ae commit 1cc7eda

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

rules/DeadCode/Rector/If_/RemoveDeadIfBlockRector.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use PhpParser\Node;
88
use PhpParser\Node\Expr\BinaryOp\BooleanAnd;
99
use PhpParser\Node\Stmt\Else_;
10+
use PhpParser\Node\Stmt\ElseIf_;
1011
use PhpParser\Node\Stmt\If_;
1112
use PhpParser\NodeVisitor;
1213
use Rector\DeadCode\SideEffect\SideEffectNodeDetector;
@@ -100,16 +101,16 @@ public function refactor(Node $node): int|null|If_
100101
return $this->refactor($node) ?? $node;
101102
}
102103

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(
108+
$elseif->cond
109+
)
110+
);
111+
if (count($node->elseifs) !== count($keep_elseifs)) {
112+
$node->elseifs = $keep_elseifs;
113+
return $this->refactor($node) ?? $node;
113114
}
114115
}
115116

@@ -141,6 +142,7 @@ public function refactor(Node $node): int|null|If_
141142
if (count($node->elseifs) > 1) {
142143
$if->elseifs = \array_slice($node->elseifs, 1);
143144
}
145+
144146
return $this->refactor($if) ?? $if;
145147
}
146148

0 commit comments

Comments
 (0)