From cbfc1d1555b510b3dd1be4840ba5038707b6d790 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sun, 9 Jul 2023 13:54:44 +0200 Subject: [PATCH] Remove deprecated resolveNextNode() to embrace local scope node --- src/PhpParser/Node/BetterNodeFinder.php | 65 ------------------------- 1 file changed, 65 deletions(-) diff --git a/src/PhpParser/Node/BetterNodeFinder.php b/src/PhpParser/Node/BetterNodeFinder.php index f4f7c8c7a3f..ff51804abc6 100644 --- a/src/PhpParser/Node/BetterNodeFinder.php +++ b/src/PhpParser/Node/BetterNodeFinder.php @@ -5,21 +5,17 @@ namespace Rector\Core\PhpParser\Node; use PhpParser\Node; -use PhpParser\Node\Expr; use PhpParser\Node\Expr\Closure; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Stmt; use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\ClassLike; use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Declare_; use PhpParser\Node\Stmt\Function_; use PhpParser\NodeFinder; use PhpParser\NodeTraverser; -use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; use Rector\Core\NodeAnalyzer\ClassAnalyzer; use Rector\NodeNameResolver\NodeNameResolver; -use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\PhpDocParser\NodeTraverser\SimpleCallableNodeTraverser; use Webmozart\Assert\Assert; @@ -272,67 +268,6 @@ static function (Node $subNode) use (&$scopedNode, $foundNode): ?int { return $scopedNode; } - /** - * @api - * @deprecated Hook into the previous node instead, to work only with current context - * - * Resolve next node from any Node, eg: Expr, Identifier, Name, etc - */ - public function resolveNextNode(Node $node): ?Node - { - $currentStmt = $this->resolveCurrentStatement($node); - if (! $currentStmt instanceof Stmt) { - return null; - } - - $endTokenPos = $node->getEndTokenPos(); - $nextNode = $endTokenPos < 0 || $currentStmt->getEndTokenPos() === $endTokenPos - ? null - : $this->findFirst( - $currentStmt, - static fn (Node $subNode): bool => $subNode->getStartTokenPos() > $endTokenPos - ); - - if (! $nextNode instanceof Node) { - $parentNode = $currentStmt->getAttribute(AttributeKey::PARENT_NODE); - if (! $this->isAllowedParentNode($parentNode)) { - return null; - } - - $currentStmtKey = $currentStmt->getAttribute(AttributeKey::STMT_KEY); - /** @var StmtsAwareInterface|ClassLike|Declare_ $parentNode */ - return $parentNode->stmts[$currentStmtKey + 1] ?? null; - } - - return $nextNode; - } - - private function resolveCurrentStatement(Node $node): ?Stmt - { - if ($node instanceof Stmt) { - return $node; - } - - $currentStmt = $node; - while (($currentStmt = $currentStmt->getAttribute(AttributeKey::PARENT_NODE)) instanceof Node) { - if ($currentStmt instanceof Stmt) { - return $currentStmt; - } - - /** @var Node|null $currentStmt */ - if (! $currentStmt instanceof Node) { - return null; - } - } - - return null; - } - - private function isAllowedParentNode(?Node $node): bool - { - return $node instanceof StmtsAwareInterface || $node instanceof ClassLike || $node instanceof Declare_; - } - /** * @template T of Node * @param Node|Node[] $nodes