diff --git a/src/ContentRepository90/Rules/ContentDimensionCombinatorGetAllAllowedCombinationsRector.php b/src/ContentRepository90/Rules/ContentDimensionCombinatorGetAllAllowedCombinationsRector.php index 0b3a43a..568cd17 100644 --- a/src/ContentRepository90/Rules/ContentDimensionCombinatorGetAllAllowedCombinationsRector.php +++ b/src/ContentRepository90/Rules/ContentDimensionCombinatorGetAllAllowedCombinationsRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -79,15 +75,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign('contentRepository', $this->this_contentRepositoryRegistry_get($this->contentRepositoryId_fromString('default'))), self::assign('dimensionSpacePoints', $this->contentRepository_getVariationGraph_getDimensionSpacePoints()), diff --git a/src/ContentRepository90/Rules/ContextGetRootNodeRector.php b/src/ContentRepository90/Rules/ContextGetRootNodeRector.php index 8765ca5..7e42696 100644 --- a/src/ContentRepository90/Rules/ContextGetRootNodeRector.php +++ b/src/ContentRepository90/Rules/ContextGetRootNodeRector.php @@ -47,10 +47,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -84,15 +80,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ new Nop(), // Needed, to render the comment below self::withTodoComment( diff --git a/src/ContentRepository90/Rules/NodeFindParentNodeRector.php b/src/ContentRepository90/Rules/NodeFindParentNodeRector.php index f0991fe..a35de11 100644 --- a/src/ContentRepository90/Rules/NodeFindParentNodeRector.php +++ b/src/ContentRepository90/Rules/NodeFindParentNodeRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -78,15 +74,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign('subgraph', $this->this_contentRepositoryRegistry_subgraphForNode($visitor->nodeVar)), $node diff --git a/src/ContentRepository90/Rules/NodeGetChildNodesRector.php b/src/ContentRepository90/Rules/NodeGetChildNodesRector.php index 86aa4f7..a547947 100644 --- a/src/ContentRepository90/Rules/NodeGetChildNodesRector.php +++ b/src/ContentRepository90/Rules/NodeGetChildNodesRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -104,15 +100,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign( 'subgraph', diff --git a/src/ContentRepository90/Rules/NodeGetContextGetWorkspaceRector.php b/src/ContentRepository90/Rules/NodeGetContextGetWorkspaceRector.php index e188174..ff4fd2b 100644 --- a/src/ContentRepository90/Rules/NodeGetContextGetWorkspaceRector.php +++ b/src/ContentRepository90/Rules/NodeGetContextGetWorkspaceRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { use AllTraits; @@ -84,11 +80,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; - - if ($visitor->changed) { + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } + if ($visitor->changed) { $contentRepository = self::assign( 'contentRepository', $this->this_contentRepositoryRegistry_get( diff --git a/src/ContentRepository90/Rules/NodeGetDepthRector.php b/src/ContentRepository90/Rules/NodeGetDepthRector.php index 020ecaa..457f331 100644 --- a/src/ContentRepository90/Rules/NodeGetDepthRector.php +++ b/src/ContentRepository90/Rules/NodeGetDepthRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -78,15 +74,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign('subgraph', $this->this_contentRepositoryRegistry_subgraphForNode($visitor->nodeVar)), $node diff --git a/src/ContentRepository90/Rules/NodeGetDimensionsRector.php b/src/ContentRepository90/Rules/NodeGetDimensionsRector.php index b3285b8..57d9cae 100644 --- a/src/ContentRepository90/Rules/NodeGetDimensionsRector.php +++ b/src/ContentRepository90/Rules/NodeGetDimensionsRector.php @@ -46,10 +46,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { use AllTraits; @@ -78,10 +74,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if ($visitor->changed) { - $node->expr = $newExpr; self::withTodoComment('Try to remove the toLegacyDimensionArray() call and make your codebase more typesafe.', $node); return $node; } diff --git a/src/ContentRepository90/Rules/NodeGetHiddenBeforeAfterDateTimeRector.php b/src/ContentRepository90/Rules/NodeGetHiddenBeforeAfterDateTimeRector.php index 5eec0ed..b99da2f 100644 --- a/src/ContentRepository90/Rules/NodeGetHiddenBeforeAfterDateTimeRector.php +++ b/src/ContentRepository90/Rules/NodeGetHiddenBeforeAfterDateTimeRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -89,15 +85,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - $comment = 'Timed publishing has been conceptually changed and has been extracted into a dedicated package. Please check https://github.com/neos/timeable-node-visibility for further details.'; if ($visitor->isGetter === false) { $comment .= PHP_EOL . '// Use the "SetNodeProperties" command to change property values for "enableAfterDateTime" or "disableAfterDateTime".'; diff --git a/src/ContentRepository90/Rules/NodeGetIdentifierRector.php b/src/ContentRepository90/Rules/NodeGetIdentifierRector.php index 870f5ae..cf8f927 100644 --- a/src/ContentRepository90/Rules/NodeGetIdentifierRector.php +++ b/src/ContentRepository90/Rules/NodeGetIdentifierRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -79,15 +75,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Check if you could change your code to work with the NodeAggregateId value object instead.', diff --git a/src/ContentRepository90/Rules/NodeGetNodeTypeGetNameRector.php b/src/ContentRepository90/Rules/NodeGetNodeTypeGetNameRector.php index d3bab31..c300a35 100644 --- a/src/ContentRepository90/Rules/NodeGetNodeTypeGetNameRector.php +++ b/src/ContentRepository90/Rules/NodeGetNodeTypeGetNameRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -87,14 +83,22 @@ public function leaveNode(Node $node) } ); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; return $node; } } diff --git a/src/ContentRepository90/Rules/NodeGetNodeTypeRector.php b/src/ContentRepository90/Rules/NodeGetNodeTypeRector.php index 8cca299..560da92 100644 --- a/src/ContentRepository90/Rules/NodeGetNodeTypeRector.php +++ b/src/ContentRepository90/Rules/NodeGetNodeTypeRector.php @@ -43,10 +43,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -83,15 +79,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign( 'contentRepository', diff --git a/src/ContentRepository90/Rules/NodeGetParentRector.php b/src/ContentRepository90/Rules/NodeGetParentRector.php index cc0b489..9685372 100644 --- a/src/ContentRepository90/Rules/NodeGetParentRector.php +++ b/src/ContentRepository90/Rules/NodeGetParentRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node) { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -79,15 +75,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign('subgraph', $this->this_contentRepositoryRegistry_subgraphForNode($visitor->nodeVar)), $node diff --git a/src/ContentRepository90/Rules/NodeGetPathRector.php b/src/ContentRepository90/Rules/NodeGetPathRector.php index 0dc4263..e894ba0 100644 --- a/src/ContentRepository90/Rules/NodeGetPathRector.php +++ b/src/ContentRepository90/Rules/NodeGetPathRector.php @@ -47,10 +47,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node) { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -84,15 +80,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign( 'subgraph', diff --git a/src/ContentRepository90/Rules/NodeSearchServiceRector.php b/src/ContentRepository90/Rules/NodeSearchServiceRector.php index f31b659..b2e766d 100644 --- a/src/ContentRepository90/Rules/NodeSearchServiceRector.php +++ b/src/ContentRepository90/Rules/NodeSearchServiceRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -121,15 +117,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - if (!$visitor->hasStartingPoint) { return [ new Nop(), // Needed, to render the comment below diff --git a/src/ContentRepository90/Rules/NodeTypeAllowsGrandchildNodeTypeRector.php b/src/ContentRepository90/Rules/NodeTypeAllowsGrandchildNodeTypeRector.php index 5947b63..1035062 100644 --- a/src/ContentRepository90/Rules/NodeTypeAllowsGrandchildNodeTypeRector.php +++ b/src/ContentRepository90/Rules/NodeTypeAllowsGrandchildNodeTypeRector.php @@ -45,10 +45,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -99,15 +95,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ new Nop(), // Needed, to render the comment below self::withTodoComment( diff --git a/src/ContentRepository90/Rules/NodeTypeGetAutoCreatedChildNodesRector.php b/src/ContentRepository90/Rules/NodeTypeGetAutoCreatedChildNodesRector.php index cefc546..9db6d9b 100644 --- a/src/ContentRepository90/Rules/NodeTypeGetAutoCreatedChildNodesRector.php +++ b/src/ContentRepository90/Rules/NodeTypeGetAutoCreatedChildNodesRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -81,15 +77,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'NodeType::tetheredNodeTypeDefinitions() is not a 1:1 replacement of NodeType::getAutoCreatedChildNodes(). You need to change your code to work with new TetheredNodeTypeDefinition object.', diff --git a/src/ContentRepository90/Rules/NodeTypeGetTypeOfAutoCreatedChildNodeRector.php b/src/ContentRepository90/Rules/NodeTypeGetTypeOfAutoCreatedChildNodeRector.php index 0b2d083..9a56b90 100644 --- a/src/ContentRepository90/Rules/NodeTypeGetTypeOfAutoCreatedChildNodeRector.php +++ b/src/ContentRepository90/Rules/NodeTypeGetTypeOfAutoCreatedChildNodeRector.php @@ -45,10 +45,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -90,8 +86,17 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; diff --git a/src/ContentRepository90/Rules/NodeTypeManagerAccessRector.php b/src/ContentRepository90/Rules/NodeTypeManagerAccessRector.php index d8d5f05..d899757 100644 --- a/src/ContentRepository90/Rules/NodeTypeManagerAccessRector.php +++ b/src/ContentRepository90/Rules/NodeTypeManagerAccessRector.php @@ -42,10 +42,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { use AllTraits; @@ -75,11 +71,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; - - if ($visitor->changed) { + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } + if ($visitor->changed) { $contentRepository = self::assign( 'contentRepository', $this->this_contentRepositoryRegistry_get($this->contentRepositoryId_fromString('default')) diff --git a/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspaceRector.php b/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspaceRector.php index d9d39ac..14221da 100644 --- a/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspaceRector.php +++ b/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspaceRector.php @@ -45,10 +45,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { use AllTraits; @@ -84,10 +80,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if ($visitor->changed) { - $node->expr = $newExpr; return [ new Nop(), // Needed, to render the comment below diff --git a/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspacesRector.php b/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspacesRector.php index 1532cb2..4a5f03d 100644 --- a/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspacesRector.php +++ b/src/ContentRepository90/Rules/WorkspaceGetBaseWorkspacesRector.php @@ -46,10 +46,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { use AllTraits; @@ -88,11 +84,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; - - if ($visitor->changed) { + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } + if ($visitor->changed) { return [ new Nop(), // Needed, to render the comment below self::withTodoComment( diff --git a/src/ContentRepository90/Rules/WorkspaceGetDescriptionRector.php b/src/ContentRepository90/Rules/WorkspaceGetDescriptionRector.php index d19a4c0..d4cf3ba 100644 --- a/src/ContentRepository90/Rules/WorkspaceGetDescriptionRector.php +++ b/src/ContentRepository90/Rules/WorkspaceGetDescriptionRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -86,15 +82,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Make this code aware of multiple Content Repositories.', $node diff --git a/src/ContentRepository90/Rules/WorkspaceGetNameRector.php b/src/ContentRepository90/Rules/WorkspaceGetNameRector.php index 40f5c8a..a2a86aa 100644 --- a/src/ContentRepository90/Rules/WorkspaceGetNameRector.php +++ b/src/ContentRepository90/Rules/WorkspaceGetNameRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -79,15 +75,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Check if you could change your code to work with the WorkspaceName value object instead.', $node diff --git a/src/ContentRepository90/Rules/WorkspaceGetTitleRector.php b/src/ContentRepository90/Rules/WorkspaceGetTitleRector.php index c63af74..b820e9e 100644 --- a/src/ContentRepository90/Rules/WorkspaceGetTitleRector.php +++ b/src/ContentRepository90/Rules/WorkspaceGetTitleRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -86,15 +82,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Make this code aware of multiple Content Repositories.', $node diff --git a/src/ContentRepository90/Rules/WorkspacePublishNodeRector.php b/src/ContentRepository90/Rules/WorkspacePublishNodeRector.php index b5c2011..1d3ceb1 100644 --- a/src/ContentRepository90/Rules/WorkspacePublishNodeRector.php +++ b/src/ContentRepository90/Rules/WorkspacePublishNodeRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -86,15 +82,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Check if this matches your requirements as this is not a 100% replacement. Make this code aware of multiple Content Repositories.', $node diff --git a/src/ContentRepository90/Rules/WorkspacePublishRector.php b/src/ContentRepository90/Rules/WorkspacePublishRector.php index dd10170..34ce9de 100644 --- a/src/ContentRepository90/Rules/WorkspacePublishRector.php +++ b/src/ContentRepository90/Rules/WorkspacePublishRector.php @@ -44,10 +44,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -85,15 +81,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return self::withTodoComment( 'Make this code aware of multiple Content Repositories.', $node diff --git a/src/ContentRepository90/Rules/WorkspaceRepositoryCountByNameRector.php b/src/ContentRepository90/Rules/WorkspaceRepositoryCountByNameRector.php index 9ef72fc..fb52850 100644 --- a/src/ContentRepository90/Rules/WorkspaceRepositoryCountByNameRector.php +++ b/src/ContentRepository90/Rules/WorkspaceRepositoryCountByNameRector.php @@ -45,10 +45,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -86,15 +82,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ self::assign('contentRepository', $this->this_contentRepositoryRegistry_get($this->contentRepositoryId_fromString('default'))), self::withTodoComment( diff --git a/src/ContentRepository90/Rules/WorkspaceRepositoryFindByBaseWorkspaceRector.php b/src/ContentRepository90/Rules/WorkspaceRepositoryFindByBaseWorkspaceRector.php index 27043a4..3da1f44 100644 --- a/src/ContentRepository90/Rules/WorkspaceRepositoryFindByBaseWorkspaceRector.php +++ b/src/ContentRepository90/Rules/WorkspaceRepositoryFindByBaseWorkspaceRector.php @@ -46,10 +46,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -90,15 +86,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ new Nop(), // Needed, to render the comment below self::withTodoComment( diff --git a/src/ContentRepository90/Rules/WorkspaceRepositoryFindByIdentifierRector.php b/src/ContentRepository90/Rules/WorkspaceRepositoryFindByIdentifierRector.php index 67bb2b6..db5ca7a 100644 --- a/src/ContentRepository90/Rules/WorkspaceRepositoryFindByIdentifierRector.php +++ b/src/ContentRepository90/Rules/WorkspaceRepositoryFindByIdentifierRector.php @@ -45,10 +45,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?array { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor( $visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { @@ -81,15 +77,22 @@ public function leaveNode(Node $node) } }); - /** @var Node\Expr $newExpr */ - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if (!$visitor->changed) { return null; } - $node->expr = $newExpr; - return [ new Nop(), // Needed, to render the comment below self::withTodoComment( diff --git a/src/ContentRepository90/Rules/WorkspaceSetDescriptionRector.php b/src/ContentRepository90/Rules/WorkspaceSetDescriptionRector.php index faab7c7..efd2153 100644 --- a/src/ContentRepository90/Rules/WorkspaceSetDescriptionRector.php +++ b/src/ContentRepository90/Rules/WorkspaceSetDescriptionRector.php @@ -42,10 +42,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { public function __construct( @@ -81,10 +77,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if ($visitor->changed) { - $node->expr = $newExpr; self::withTodoComment('Make this code aware of multiple Content Repositories.', $node); return $node; } diff --git a/src/ContentRepository90/Rules/WorkspaceSetTitleRector.php b/src/ContentRepository90/Rules/WorkspaceSetTitleRector.php index af93856..19ce939 100644 --- a/src/ContentRepository90/Rules/WorkspaceSetTitleRector.php +++ b/src/ContentRepository90/Rules/WorkspaceSetTitleRector.php @@ -39,10 +39,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory) extends NodeVisitorAbstract { public function __construct( @@ -78,10 +74,19 @@ public function leaveNode(Node $node) } }); - $newExpr = $traverser->traverse([$node->expr])[0]; + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if ($visitor->changed) { - $node->expr = $newExpr; self::withTodoComment('Make this code aware of multiple Content Repositories.', $node); return $node; } diff --git a/src/Generic/Rules/ObjectInstantiationToWarningCommentRector.php b/src/Generic/Rules/ObjectInstantiationToWarningCommentRector.php index 2048fe4..40e402e 100644 --- a/src/Generic/Rules/ObjectInstantiationToWarningCommentRector.php +++ b/src/Generic/Rules/ObjectInstantiationToWarningCommentRector.php @@ -15,7 +15,6 @@ use Rector\Contract\Rector\ConfigurableRectorInterface; use Rector\NodeTypeResolver\NodeTypeResolver; use Rector\PhpParser\Node\NodeFactory; -use Rector\PostRector\Collector\NodesToAddCollector; use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\Contract\DocumentedRuleInterface; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; @@ -54,10 +53,6 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if (!in_array('expr', $node->getSubNodeNames())) { - return null; - } - $traverser = new NodeTraverser(); $traverser->addVisitor($visitor = new class($this->nodeTypeResolver, $this->nodeFactory, $this->objectInstantiationToWarningComments) extends NodeVisitorAbstract { use AllTraits; @@ -86,7 +81,18 @@ public function leaveNode(Node $node) return null; } }); - $traverser->traverse([$node->expr])[0]; + + if (in_array('expr', $node->getSubNodeNames())) { + /** @var Node\Expr $newExpr */ + $newExpr = $traverser->traverse([$node->expr])[0]; + $node->expr = $newExpr; + } elseif (in_array('cond', $node->getSubNodeNames())) { + /** @var Node\Expr $newCond */ + $newCond = $traverser->traverse([$node->cond])[0]; + $node->cond = $newCond; + } else { + return null; + } if ($visitor->changed) { return diff --git a/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class1.php.inc b/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class1.php.inc new file mode 100644 index 0000000..55148ae --- /dev/null +++ b/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class1.php.inc @@ -0,0 +1,28 @@ +findParentNode(); + } +} + +?> +----- +contentRepositoryRegistry->subgraphForNode($node); + $parentNode = $subgraph->findParentNode($node->aggregateId); + } +} + +?> diff --git a/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class2.php.inc b/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class2.php.inc new file mode 100644 index 0000000..d4d21c1 --- /dev/null +++ b/tests/ContentRepository90/Rules/NodeFindParentNodeRector/Fixture/some_class2.php.inc @@ -0,0 +1,46 @@ +findParentNode()) { + $node = $parentNode; + } + + while ($a === $b) { + $parentNode = $this->foo($node->findParentNode()); + } + + return $node->findParentNode(); + } +} + +?> +----- +contentRepositoryRegistry->subgraphForNode($node); + while ($parentNode = $subgraph->findParentNode($node->aggregateId)) { + $node = $parentNode; + } + + while ($a === $b) { + $subgraph = $this->contentRepositoryRegistry->subgraphForNode($node); + $parentNode = $this->foo($subgraph->findParentNode($node->aggregateId)); + } + $subgraph = $this->contentRepositoryRegistry->subgraphForNode($node); + + return $subgraph->findParentNode($node->aggregateId); + } +} + +?>