File tree Expand file tree Collapse file tree
rules/DeadCode/Rector/Stmt Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55
66use PhpParser \Node ;
77use PhpParser \Node \Expr \Variable ;
8+ use PhpParser \Node \Stmt \Else_ ;
89use PhpParser \Node \Stmt \If_ ;
910use Rector \DeadCode \SideEffect \SideEffectNodeDetector ;
1011use Rector \PhpParser \Enum \NodeGroup ;
@@ -82,6 +83,13 @@ public function refactor(Node $node): ?Node
8283 if (!$ stmt instanceof If_) {
8384 continue ;
8485 }
86+ // only when no elseif/else in current if
87+ if ($ stmt ->elseifs !== []) {
88+ continue ;
89+ }
90+ if ($ stmt ->else instanceof Else_) {
91+ continue ;
92+ }
8593 // first condition must be without side effect
8694 if ($ this ->sideEffectNodeDetector ->detect ($ stmt ->cond )) {
8795 continue ;
@@ -96,6 +104,13 @@ public function refactor(Node $node): ?Node
96104 if (!$ this ->nodeComparator ->areNodesEqual ($ stmt ->cond , $ nextStmt ->cond )) {
97105 continue ;
98106 }
107+ // only when no elseif/else in next stmt
108+ if ($ nextStmt ->elseifs !== []) {
109+ continue ;
110+ }
111+ if ($ nextStmt ->else instanceof Else_) {
112+ continue ;
113+ }
99114 $ stmt ->stmts = array_merge ($ stmt ->stmts , $ nextStmt ->stmts );
100115 // remove next node
101116 unset($ node ->stmts [$ key + 1 ]);
Original file line number Diff line number Diff line change @@ -19,12 +19,12 @@ final class VersionResolver
1919 * @api
2020 * @var string
2121 */
22- public const PACKAGE_VERSION = 'ed60a2245cfeeefc65e4cfb4e48cabcd839518fe ' ;
22+ public const PACKAGE_VERSION = 'a72c6224748169bb0941a46fd19f5e93e2d54af2 ' ;
2323 /**
2424 * @api
2525 * @var string
2626 */
27- public const RELEASE_DATE = '2026-01-05 15:53:40 ' ;
27+ public const RELEASE_DATE = '2026-01-06 01:01:07 ' ;
2828 /**
2929 * @var int
3030 */
You can’t perform that action at this time.
0 commit comments