diff --git a/rules/CodeQuality/Rector/FuncCall/SetTypeToCastRector.php b/rules/CodeQuality/Rector/FuncCall/SetTypeToCastRector.php index e161dbad79a..518d9fd8ae5 100644 --- a/rules/CodeQuality/Rector/FuncCall/SetTypeToCastRector.php +++ b/rules/CodeQuality/Rector/FuncCall/SetTypeToCastRector.php @@ -95,6 +95,7 @@ public function getNodeTypes(): array /** * @param FuncCall|Expression|Assign|ArrayItem|Node\Arg $node + * @return null|NodeVisitor::DONT_TRAVERSE_CHILDREN|Expression|Assign|Cast */ public function refactor(Node $node): null|int|Expression|Assign|Cast { diff --git a/rules/Php55/Rector/String_/StringClassNameToClassConstantRector.php b/rules/Php55/Rector/String_/StringClassNameToClassConstantRector.php index 859d6d21a3c..5e258d6383c 100644 --- a/rules/Php55/Rector/String_/StringClassNameToClassConstantRector.php +++ b/rules/Php55/Rector/String_/StringClassNameToClassConstantRector.php @@ -99,6 +99,7 @@ public function getNodeTypes(): array /** * @param String_|FuncCall|ClassConst $node + * @return Concat|ClassConstFetch|null|NodeVisitor::DONT_TRAVERSE_CHILDREN */ public function refactor(Node $node): Concat|ClassConstFetch|null|int { diff --git a/rules/Php70/Rector/Break_/BreakNotInLoopOrSwitchToReturnRector.php b/rules/Php70/Rector/Break_/BreakNotInLoopOrSwitchToReturnRector.php index 9fbded202cc..6430621ae6e 100644 --- a/rules/Php70/Rector/Break_/BreakNotInLoopOrSwitchToReturnRector.php +++ b/rules/Php70/Rector/Break_/BreakNotInLoopOrSwitchToReturnRector.php @@ -87,6 +87,7 @@ public function getNodeTypes(): array /** * @param Switch_|Break_ $node + * @return Return_|null|NodeVisitor::REMOVE_NODE */ public function refactor(Node $node): Return_|null|int { diff --git a/rules/Php72/Rector/Unset_/UnsetCastRector.php b/rules/Php72/Rector/Unset_/UnsetCastRector.php index c2cd3d8f8e8..d53c8477cd5 100644 --- a/rules/Php72/Rector/Unset_/UnsetCastRector.php +++ b/rules/Php72/Rector/Unset_/UnsetCastRector.php @@ -55,6 +55,7 @@ public function getNodeTypes(): array /** * @param Unset_|Assign|Expression $node + * @return NodeVisitor::REMOVE_NODE|Node|null */ public function refactor(Node $node): int|null|Node { diff --git a/rules/Php81/Rector/Array_/FirstClassCallableRector.php b/rules/Php81/Rector/Array_/FirstClassCallableRector.php index 84e870269ab..73f099de784 100644 --- a/rules/Php81/Rector/Array_/FirstClassCallableRector.php +++ b/rules/Php81/Rector/Array_/FirstClassCallableRector.php @@ -88,6 +88,7 @@ public function getNodeTypes(): array /** * @param Property|ClassConst|Array_ $node + * @return StaticCall|MethodCall|null|NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN */ public function refactor(Node $node): int|null|StaticCall|MethodCall { diff --git a/rules/Renaming/Rector/Name/RenameClassRector.php b/rules/Renaming/Rector/Name/RenameClassRector.php index 313ad612c06..6464f015ea7 100644 --- a/rules/Renaming/Rector/Name/RenameClassRector.php +++ b/rules/Renaming/Rector/Name/RenameClassRector.php @@ -95,6 +95,7 @@ public function getNodeTypes(): array /** * @param ClassConstFetch|FunctionLike|FullyQualified|Name|ClassLike|Expression|Property|If_ $node + * @return null|NodeVisitor::DONT_TRAVERSE_CHILDREN|Node */ public function refactor(Node $node): int|null|Node { @@ -125,6 +126,7 @@ public function configure(array $configuration): void /** * @param array $oldToNewClasses + * @return null|NodeVisitor::DONT_TRAVERSE_CHILDREN */ private function processClassConstFetch(ClassConstFetch $classConstFetch, array $oldToNewClasses): int|null { diff --git a/rules/Transform/Rector/FuncCall/WrapFuncCallWithPhpVersionIdCheckerRector.php b/rules/Transform/Rector/FuncCall/WrapFuncCallWithPhpVersionIdCheckerRector.php index 753e70f7054..694a7da036e 100644 --- a/rules/Transform/Rector/FuncCall/WrapFuncCallWithPhpVersionIdCheckerRector.php +++ b/rules/Transform/Rector/FuncCall/WrapFuncCallWithPhpVersionIdCheckerRector.php @@ -68,6 +68,7 @@ public function getNodeTypes(): array /** * @param StmtsAwareInterface $node + * @return null|Node|NodeVisitor::DONT_TRAVERSE_CHILDREN */ public function refactor(Node $node): null|Node|int { diff --git a/src/Contract/Rector/RectorInterface.php b/src/Contract/Rector/RectorInterface.php index d4c568c6cfe..b2960111770 100644 --- a/src/Contract/Rector/RectorInterface.php +++ b/src/Contract/Rector/RectorInterface.php @@ -20,16 +20,7 @@ public function getNodeTypes(): array; /** * Process Node of matched type - * @return Node|Node[]|null|int - * - * For int return, choose: - * - * ✔️ To decorate current node and its children to not be traversed on current rule, return one of: - * - NodeVisitor::DONT_TRAVERSE_CHILDREN - * - NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN - * - * ✔️ To remove node of Node\Stmt or Node\Param, return: - * - NodeVisitor::REMOVE_NODE + * @return Node|Node[]|null|NodeVisitor::* */ public function refactor(Node $node); } diff --git a/src/Rector/AbstractRector.php b/src/Rector/AbstractRector.php index 5e22b99ec2b..1bafa3a307c 100644 --- a/src/Rector/AbstractRector.php +++ b/src/Rector/AbstractRector.php @@ -188,7 +188,7 @@ final public function enterNode(Node $node): int|Node|null } if ($isIntRefactoredNode) { - // @see NodeTraverser::* codes, e.g. removal of node of stopping the traversing + // @see NodeVisitor::* codes, e.g. removal of node of stopping the traversing if ($refactoredNode === NodeVisitor::REMOVE_NODE) { // log here, so we can remove the node in leaveNode() method $this->toBeRemovedNodeId = spl_object_id($originalNode); diff --git a/tests/Issues/InfiniteLoop/Rector/MethodCall/InfinityLoopRector.php b/tests/Issues/InfiniteLoop/Rector/MethodCall/InfinityLoopRector.php index b4426ea4cbe..d327f080102 100644 --- a/tests/Issues/InfiniteLoop/Rector/MethodCall/InfinityLoopRector.php +++ b/tests/Issues/InfiniteLoop/Rector/MethodCall/InfinityLoopRector.php @@ -26,6 +26,7 @@ public function getNodeTypes(): array /** * @param Assign|MethodCall $node + * @return Assign|int|null|NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN */ public function refactor(Node $node): Assign|null|int {