File tree Expand file tree Collapse file tree 2 files changed +25
-2
lines changed 
rules-tests/DeadCode/Rector/Closure/RemoveUnusedClosureVariableUseRector/Fixture 
rules/DeadCode/Rector/Concat Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change 1+ <?php 
2+ 
3+ namespace  Rector \Tests \DeadCode \Rector \Closure \RemoveUnusedClosureVariableUseRector \Fixture ;
4+ 
5+ /** 
6+  * @see https://3v4l.org/9vhce 
7+  */ 
8+ final  class  SkipUsedViaCompact
9+ {
10+     public  function  run ($ value )
11+     {
12+         return  function  () use  ($ value ) {
13+             $ v  = compact ('value ' );
14+ 
15+             return  $ v ;
16+         };
17+     }
18+ }
Original file line number Diff line number Diff line change 66
77use  PhpParser \Node ;
88use  PhpParser \Node \Expr \Closure ;
9+ use  Rector \DeadCode \NodeAnalyzer \ExprUsedInNodeAnalyzer ;
910use  Rector \PhpParser \Node \BetterNodeFinder ;
1011use  Rector \Rector \AbstractRector ;
1112use  Symplify \RuleDocGenerator \ValueObject \CodeSample \CodeSample ;
1718final  class  RemoveUnusedClosureVariableUseRector extends  AbstractRector
1819{
1920    public  function  __construct (
20-         private  readonly  BetterNodeFinder   $ betterNodeFinder
21+         private  readonly  BetterNodeFinder   $ betterNodeFinder ,
22+         private  readonly  ExprUsedInNodeAnalyzer   $ exprUsedInNodeAnalyzer
2123    ) {
2224    }
2325
@@ -72,7 +74,10 @@ public function refactor(Node $node): ?Node
7274                continue ;
7375            }
7476
75-             $ isUseUsed  = (bool ) $ this  ->betterNodeFinder ->findVariableOfName ($ node ->stmts , $ useVariableName );
77+             $ isUseUsed  = (bool ) $ this  ->betterNodeFinder ->findFirst (
78+                 $ node ->stmts ,
79+                 fn  (Node   $ subNode ): bool  => $ this  ->exprUsedInNodeAnalyzer ->isUsed ($ subNode , $ useVariable ->var )
80+             );
7681            if  ($ isUseUsed ) {
7782                continue ;
7883            }
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments