Skip to content

Commit

Permalink
[NodeTypeResolver] Make NodeTraverser as property on PHPStanNodeScope…
Browse files Browse the repository at this point in the history
…Resolver (#3533)

* [NodeTypeResolver] Make NodeTraverser as property on PHPStanNodeScopeResolver

* [ci-review] Rector Rectify

---------

Co-authored-by: GitHub Action <actions@github.com>
  • Loading branch information
samsonasik and actions-user committed Mar 28, 2023
1 parent 02df443 commit d0d8770
Showing 1 changed file with 6 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,18 +63,22 @@ final class PHPStanNodeScopeResolver
*/
private const CONTEXT = 'context';

private readonly NodeTraverser $nodeTraverser;

public function __construct(
private readonly ChangedFilesDetector $changedFilesDetector,
private readonly DependencyResolver $dependencyResolver,
private readonly NodeScopeResolver $nodeScopeResolver,
private readonly ReflectionProvider $reflectionProvider,
private readonly RemoveDeepChainMethodCallNodeVisitor $removeDeepChainMethodCallNodeVisitor,
RemoveDeepChainMethodCallNodeVisitor $removeDeepChainMethodCallNodeVisitor,
private readonly ScopeFactory $scopeFactory,
private readonly PrivatesAccessor $privatesAccessor,
private readonly NodeNameResolver $nodeNameResolver,
private readonly BetterNodeFinder $betterNodeFinder,
private readonly ClassAnalyzer $classAnalyzer
) {
$this->nodeTraverser = new NodeTraverser();
$this->nodeTraverser->addVisitor($removeDeepChainMethodCallNodeVisitor);
}

/**
Expand All @@ -94,7 +98,7 @@ public function processNodes(
*/

Assert::allIsInstanceOf($stmts, Stmt::class);
$this->removeDeepChainMethodCallNodes($stmts);
$this->nodeTraverser->traverse($stmts);

$scope = $formerMutatingScope ?? $this->scopeFactory->createFromFile($filePath);

Expand Down Expand Up @@ -371,16 +375,6 @@ private function processNodesWithDependentFiles(
return $stmts;
}

/**
* @param Node[] $nodes
*/
private function removeDeepChainMethodCallNodes(array $nodes): void
{
$nodeTraverser = new NodeTraverser();
$nodeTraverser->addVisitor($this->removeDeepChainMethodCallNodeVisitor);
$nodeTraverser->traverse($nodes);
}

private function resolveClassOrInterfaceScope(
Class_ | Interface_ | Enum_ $classLike,
MutatingScope $mutatingScope,
Expand Down

0 comments on commit d0d8770

Please sign in to comment.