From cd3d327988ac60ed5ec725bafe51b4c670e56ec1 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 4 Jul 2023 21:36:10 +0700 Subject: [PATCH] Revert "[Performance] Immediate remove UnreachableStatementNodeVisitor object after traverse to avoid re-use in next file (#4417)" (#4418) This reverts commit 24ce37d13f1c087d41542514f959949499fd210b. --- .../NodeScopeAndMetadataDecorator.php | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/packages/NodeTypeResolver/NodeScopeAndMetadataDecorator.php b/packages/NodeTypeResolver/NodeScopeAndMetadataDecorator.php index 4296088533c..100408dc946 100644 --- a/packages/NodeTypeResolver/NodeScopeAndMetadataDecorator.php +++ b/packages/NodeTypeResolver/NodeScopeAndMetadataDecorator.php @@ -48,22 +48,13 @@ public function decorateNodesFromFile(File $file, array $stmts): array $stmts = $this->phpStanNodeScopeResolver->processNodes($stmts, $file->getFilePath()); if ($this->phpStanNodeScopeResolver->hasUnreachableStatementNode()) { - $unreachableStatementNodeVisitor = new UnreachableStatementNodeVisitor( - $this->phpStanNodeScopeResolver, - $file->getFilePath(), - $this->scopeFactory + $this->nodeTraverser->addVisitor( + new UnreachableStatementNodeVisitor( + $this->phpStanNodeScopeResolver, + $file->getFilePath(), + $this->scopeFactory + ) ); - $this->nodeTraverser->addVisitor($unreachableStatementNodeVisitor); - - $stmts = $this->nodeTraverser->traverse($stmts); - - /** - * immediate remove UnreachableStatementNodeVisitor after traverse to avoid - * re-used in nodeTraverser property in next file - */ - $this->nodeTraverser->removeVisitor($unreachableStatementNodeVisitor); - - return $stmts; } return $this->nodeTraverser->traverse($stmts);