mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-01 08:50:50 +00:00
[DeadCode] Skip RemoveUnusedVariableAssignRector on assign to dynamic variable (#1884)
Co-authored-by: Jack Leigh <leighman@users.noreply.github.com>
This commit is contained in:
parent
2ad95b64eb
commit
10de06f33f
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Tests\DeadCode\Rector\Assign\RemoveUnusedVariableAssignRector\Fixture;
|
||||
|
||||
final class SkipDynamicVariable
|
||||
{
|
||||
public function run($something)
|
||||
{
|
||||
foreach($something as $key => $mapped)
|
||||
{
|
||||
${$key . "_key"} = $mapped;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -25,6 +25,7 @@ use Rector\DeadCode\NodeAnalyzer\ExprUsedInNextNodeAnalyzer;
|
|||
use Rector\DeadCode\NodeAnalyzer\UsedVariableNameAnalyzer;
|
||||
use Rector\DeadCode\SideEffect\SideEffectNodeDetector;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
use Rector\Php74\Tokenizer\FollowedByCurlyBracketAnalyzer;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
|
||||
|
@ -38,7 +39,8 @@ final class RemoveUnusedVariableAssignRector extends AbstractRector
|
|||
private readonly ConditionSearcher $conditionSearcher,
|
||||
private readonly UsedVariableNameAnalyzer $usedVariableNameAnalyzer,
|
||||
private readonly SideEffectNodeDetector $sideEffectNodeDetector,
|
||||
private readonly ExprUsedInNextNodeAnalyzer $exprUsedInNextNodeAnalyzer
|
||||
private readonly ExprUsedInNextNodeAnalyzer $exprUsedInNextNodeAnalyzer,
|
||||
private readonly FollowedByCurlyBracketAnalyzer $followedByCurlyBracketAnalyzer
|
||||
) {
|
||||
}
|
||||
|
||||
|
@ -135,7 +137,7 @@ CODE_SAMPLE
|
|||
}
|
||||
|
||||
if (! $variable->name instanceof Variable) {
|
||||
return false;
|
||||
return $this->followedByCurlyBracketAnalyzer->isFollowed($this->file, $variable);
|
||||
}
|
||||
|
||||
return (bool) $this->betterNodeFinder->findFirstNext(
|
||||
|
|
Loading…
Reference in New Issue
Block a user