Skip to content

Commit

Permalink
merge collected nodes to ParsedNodesByType
Browse files Browse the repository at this point in the history
  • Loading branch information
TomasVotruba committed Apr 13, 2019
1 parent a6e340b commit 32cb484
Show file tree
Hide file tree
Showing 21 changed files with 515 additions and 581 deletions.
Expand Up @@ -3,7 +3,7 @@
namespace Rector\CodeQuality\Rector\Array_;

use PhpParser\Node;
use Rector\NodeTypeResolver\Application\ClassLikeNodeCollector;
use Rector\NodeContainer\ParsedNodesByType;
use Rector\Rector\AbstractRector;
use Rector\RectorDefinition\CodeSample;
use Rector\RectorDefinition\RectorDefinition;
Expand All @@ -16,13 +16,13 @@
final class CallableThisArrayToAnonymousFunctionRector extends AbstractRector
{
/**
* @var ClassLikeNodeCollector
* @var ParsedNodesByType
*/
private $classLikeNodeCollector;
private $parsedNodesByType;

public function __construct(ClassLikeNodeCollector $classLikeNodeCollector)
public function __construct(ParsedNodesByType $parsedNodesByType)
{
$this->classLikeNodeCollector = $classLikeNodeCollector;
$this->parsedNodesByType = $parsedNodesByType;
}

public function getDefinition(): RectorDefinition
Expand Down Expand Up @@ -135,7 +135,7 @@ private function matchCallableMethod(Node\Expr $objectExpr, Node\Expr $methodExp
$methodName = $this->getValue($methodExpr);

foreach ($this->getTypes($objectExpr) as $type) {
$class = $this->classLikeNodeCollector->findClass($type);
$class = $this->parsedNodesByType->findClass($type);
if ($class === null) {
continue;
}
Expand Down
Expand Up @@ -13,7 +13,7 @@
use PhpParser\Node\Stmt\Return_;
use Rector\NetteToSymfony\Event\EventInfo;
use Rector\NetteToSymfony\Event\EventInfosFactory;
use Rector\NodeTypeResolver\Application\FunctionLikeNodeCollector;
use Rector\NodeContainer\ParsedNodesByType;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Rector\AbstractRector;
use Rector\RectorDefinition\CodeSample;
Expand All @@ -33,16 +33,14 @@ final class RenameEventNamesInEventSubscriberRector extends AbstractRector
private $symfonyClassConstWithAliases = [];

/**
* @var FunctionLikeNodeCollector
* @var ParsedNodesByType
*/
private $functionLikeNodeCollector;
private $parsedNodesByType;

public function __construct(
EventInfosFactory $eventInfosFactory,
FunctionLikeNodeCollector $functionLikeNodeCollector
) {
public function __construct(EventInfosFactory $eventInfosFactory, ParsedNodesByType $parsedNodesByType)
{
$this->symfonyClassConstWithAliases = $eventInfosFactory->create();
$this->functionLikeNodeCollector = $functionLikeNodeCollector;
$this->parsedNodesByType = $parsedNodesByType;
}

public function getDefinition(): RectorDefinition
Expand Down Expand Up @@ -195,7 +193,7 @@ private function resolveClassConstAliasMatch(ArrayItem $arrayItem, EventInfo $ev

private function processMethodArgument(string $class, string $method, EventInfo $eventInfo): void
{
$classMethodNode = $this->functionLikeNodeCollector->findMethod($method, $class);
$classMethodNode = $this->parsedNodesByType->findMethod($method, $class);
if ($classMethodNode === null) {
return;
}
Expand Down
Expand Up @@ -12,7 +12,7 @@
use Rector\NetteToSymfony\Annotation\SymfonyRoutePhpDocTagNode;
use Rector\NetteToSymfony\Route\RouteInfo;
use Rector\NetteToSymfony\Route\RouteInfoFactory;
use Rector\NodeTypeResolver\Application\ClassLikeNodeCollector;
use Rector\NodeContainer\ParsedNodesByType;
use Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer\DocBlockManipulator;
use Rector\PhpParser\Node\Manipulator\ClassManipulator;
use Rector\PhpParser\Node\Manipulator\ClassMethodManipulator;
Expand Down Expand Up @@ -44,9 +44,9 @@ final class RouterListToControllerAnnotationsRector extends AbstractRector
private $routeAnnotationClass;

/**
* @var ClassLikeNodeCollector
* @var ParsedNodesByType
*/
private $classLikeNodeCollector;
private $parsedNodesByType;

/**
* @var ClassManipulator
Expand All @@ -69,7 +69,7 @@ final class RouterListToControllerAnnotationsRector extends AbstractRector
private $classMethodManipulator;

public function __construct(
ClassLikeNodeCollector $classLikeNodeCollector,
ParsedNodesByType $parsedNodesByType,
ClassManipulator $classManipulator,
ClassMethodManipulator $classMethodManipulator,
DocBlockManipulator $docBlockManipulator,
Expand All @@ -80,7 +80,7 @@ public function __construct(
) {
$this->routeListClass = $routeListClass;
$this->routerClass = $routerClass;
$this->classLikeNodeCollector = $classLikeNodeCollector;
$this->parsedNodesByType = $parsedNodesByType;
$this->classManipulator = $classManipulator;
$this->docBlockManipulator = $docBlockManipulator;
$this->routeAnnotationClass = $routeAnnotationClass;
Expand Down Expand Up @@ -255,7 +255,7 @@ private function createRouteInfosFromAssignNodes(array $assignNodes): array

private function resolveControllerClassMethod(RouteInfo $routeInfo): ?ClassMethod
{
$classNode = $this->classLikeNodeCollector->findClass($routeInfo->getClass());
$classNode = $this->parsedNodesByType->findClass($routeInfo->getClass());
if ($classNode === null) {
return null;
}
Expand All @@ -265,7 +265,7 @@ private function resolveControllerClassMethod(RouteInfo $routeInfo): ?ClassMetho

private function completeImplicitRoutes(): void
{
$presenterClasses = $this->classLikeNodeCollector->findClassesBySuffix('Presenter');
$presenterClasses = $this->parsedNodesByType->findClassesBySuffix('Presenter');

foreach ($presenterClasses as $presenterClass) {
foreach ((array) $presenterClass->stmts as $classStmt) {
Expand Down
14 changes: 7 additions & 7 deletions packages/NetteToSymfony/src/Route/RouteInfoFactory.php
Expand Up @@ -8,7 +8,7 @@
use PhpParser\Node\Expr\New_;
use PhpParser\Node\Expr\StaticCall;
use PhpParser\Node\Scalar\String_;
use Rector\NodeTypeResolver\Application\ClassLikeNodeCollector;
use Rector\NodeContainer\ParsedNodesByType;
use Rector\PhpParser\Node\Resolver\NameResolver;
use Rector\PhpParser\Node\Value\ValueResolver;

Expand All @@ -25,18 +25,18 @@ final class RouteInfoFactory
private $valueResolver;

/**
* @var ClassLikeNodeCollector
* @var ParsedNodesByType
*/
private $classLikeNodeCollector;
private $parsedNodesByType;

public function __construct(
NameResolver $nameResolver,
ValueResolver $valueResolver,
ClassLikeNodeCollector $classLikeNodeCollector
ParsedNodesByType $parsedNodesByType
) {
$this->nameResolver = $nameResolver;
$this->valueResolver = $valueResolver;
$this->classLikeNodeCollector = $classLikeNodeCollector;
$this->parsedNodesByType = $parsedNodesByType;
}

public function createFromNode(Node $node): ?RouteInfo
Expand Down Expand Up @@ -125,9 +125,9 @@ private function createRouteInfoFromArgs(Node $node, array $methods = []): ?Rout
// detect class by controller name?
// foreach all instance and try to match a name $controller . 'Presenter/Controller'

$classNode = $this->classLikeNodeCollector->findByShortName($controller . 'Presenter');
$classNode = $this->parsedNodesByType->findByShortName($controller . 'Presenter');
if ($classNode === null) {
$classNode = $this->classLikeNodeCollector->findByShortName($controller . 'Controller');
$classNode = $this->parsedNodesByType->findByShortName($controller . 'Controller');
}

// unable to find here
Expand Down
221 changes: 0 additions & 221 deletions packages/NodeTypeResolver/src/Application/ClassLikeNodeCollector.php

This file was deleted.

0 comments on commit 32cb484

Please sign in to comment.