2525use Rector \Core \PhpParser \Node \BetterNodeFinder ;
2626use Rector \Core \PhpParser \Node \NodeFactory ;
2727use Rector \Core \Reflection \ReflectionResolver ;
28+ use Rector \Core \Util \ArrayChecker ;
2829use Rector \Core \ValueObject \Application \File ;
2930use Rector \DeadCode \NodeAnalyzer \ExprUsedInNextNodeAnalyzer ;
3031use Rector \NodeNameResolver \NodeNameResolver ;
@@ -75,7 +76,12 @@ final class ClassMethodAssignManipulator
7576 * @var \Rector\DeadCode\NodeAnalyzer\ExprUsedInNextNodeAnalyzer
7677 */
7778 private $ exprUsedInNextNodeAnalyzer ;
78- public function __construct (BetterNodeFinder $ betterNodeFinder , NodeFactory $ nodeFactory , NodeNameResolver $ nodeNameResolver , \Rector \Core \NodeManipulator \VariableManipulator $ variableManipulator , NodeComparator $ nodeComparator , ReflectionResolver $ reflectionResolver , \Rector \Core \NodeManipulator \ArrayDestructVariableFilter $ arrayDestructVariableFilter , ExprUsedInNextNodeAnalyzer $ exprUsedInNextNodeAnalyzer )
79+ /**
80+ * @readonly
81+ * @var \Rector\Core\Util\ArrayChecker
82+ */
83+ private $ arrayChecker ;
84+ public function __construct (BetterNodeFinder $ betterNodeFinder , NodeFactory $ nodeFactory , NodeNameResolver $ nodeNameResolver , \Rector \Core \NodeManipulator \VariableManipulator $ variableManipulator , NodeComparator $ nodeComparator , ReflectionResolver $ reflectionResolver , \Rector \Core \NodeManipulator \ArrayDestructVariableFilter $ arrayDestructVariableFilter , ExprUsedInNextNodeAnalyzer $ exprUsedInNextNodeAnalyzer , ArrayChecker $ arrayChecker )
7985 {
8086 $ this ->betterNodeFinder = $ betterNodeFinder ;
8187 $ this ->nodeFactory = $ nodeFactory ;
@@ -85,6 +91,7 @@ public function __construct(BetterNodeFinder $betterNodeFinder, NodeFactory $nod
8591 $ this ->reflectionResolver = $ reflectionResolver ;
8692 $ this ->arrayDestructVariableFilter = $ arrayDestructVariableFilter ;
8793 $ this ->exprUsedInNextNodeAnalyzer = $ exprUsedInNextNodeAnalyzer ;
94+ $ this ->arrayChecker = $ arrayChecker ;
8895 }
8996 /**
9097 * @return Assign[]
@@ -127,7 +134,7 @@ private function filterOutUsedByEncapsed(array $readOnlyVariableAssigns) : array
127134 if (!$ node instanceof Encapsed) {
128135 return \false;
129136 }
130- return ( bool ) \array_filter ($ node ->parts , function (Expr $ expr ) use ($ variable ) : bool {
137+ return $ this -> arrayChecker -> doesExist ($ node ->parts , function (Expr $ expr ) use ($ variable ) : bool {
131138 return $ this ->nodeComparator ->areNodesEqual ($ expr , $ variable );
132139 });
133140 });
0 commit comments