From bf92b9c360eccb0a95b3b7f4a41efc4f875e5723 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sat, 9 Jul 2022 04:34:00 +0700 Subject: [PATCH] [DeadCode] Skip global and static variable on RemoveJustVariableAssignRector (#2641) * [DeadCode] Skip global var on RemoveJustVariableAssignRector * update * skip static as well * skip static as well * skip static as well * s * Fixed :tada: * eol --- .../Fixture/skip_global_var.php.inc | 13 +++++++++++++ .../Fixture/skip_static_var.php.inc | 18 ++++++++++++++++++ .../RemoveJustVariableAssignRector.php | 4 ++++ 3 files changed, 35 insertions(+) create mode 100644 rules-tests/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector/Fixture/skip_global_var.php.inc create mode 100644 rules-tests/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector/Fixture/skip_static_var.php.inc diff --git a/rules-tests/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector/Fixture/skip_global_var.php.inc b/rules-tests/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector/Fixture/skip_global_var.php.inc new file mode 100644 index 00000000000..c11e56caf42 --- /dev/null +++ b/rules-tests/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector/Fixture/skip_global_var.php.inc @@ -0,0 +1,13 @@ +property = $result; + } + } +} diff --git a/rules/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector.php b/rules/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector.php index 6a3a2a04958..4942210d86d 100644 --- a/rules/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector.php +++ b/rules/DeadCode/Rector/StmtsAwareInterface/RemoveJustVariableAssignRector.php @@ -159,6 +159,10 @@ private function areTwoVariablesCrossAssign(Assign $currentAssign, Assign $nextA return false; } + if ($this->variableAnalyzer->isStaticOrGlobal($currentAssign->var)) { + return false; + } + return ! $this->exprUsedInNextNodeAnalyzer->isUsed($nextAssign->expr); }