[NodeTypeResolver] add NodeVisitor suffix to TypeNodeVisitor resolvers, to make clear difference between delegator and the responsible service

This commit is contained in:
TomasVotruba 2017-11-02 12:28:58 +01:00
parent 8b4556a3c3
commit fc1183f002
4 changed files with 5 additions and 7 deletions

View File

@ -136,16 +136,14 @@ final class NodeCallerTypeResolver
return $this->resolverMethodCallReturnTypes($node);
}
$callerNodeTypes = $node->var->getAttribute(Attribute::TYPES);
$callerNodeType = array_shift($callerNodeTypes);
$methodName = $node->name->toString();
$callerReturnType = $this->methodReflector->getMethodReturnType($callerNodeType, $methodName);
if ($callerReturnType) {
return $callerReturnType;
return [$callerReturnType];
}
return [];

View File

@ -17,7 +17,7 @@ use Rector\NodeTypeResolver\NodeCallerTypeResolver;
* - $this->{getThis()}->callMe()
* - {new John}->callMe()
*/
final class CallerTypeResolver extends NodeVisitorAbstract
final class CallerTypeNodeVisitor extends NodeVisitorAbstract
{
/**
* @var NodeCallerTypeResolver

View File

@ -13,7 +13,7 @@ use Rector\NodeTypeResolver\TypeContext;
/**
* Inspired by https://github.com/nikic/PHP-Parser/blob/9373a8e9f551516bc8e42aedeacd1b4f635d27fc/lib/PhpParser/NodeVisitor/NameResolver.php.
*/
final class TypeResolver extends NodeVisitorAbstract
final class TypeNodeVisitor extends NodeVisitorAbstract
{
/**
* @var TypeContext

View File

@ -23,9 +23,9 @@ services:
# adds current namespace to all nodes via attribute (have to be before TypeResolver)
- ['addNodeVisitor', ['@Rector\NodeTypeResolver\NodeVisitor\NamespaceResolver']]
# adds type to variable and property nodes via attribute
- ['addNodeVisitor', ['@Rector\NodeTypeResolver\NodeVisitor\TypeResolver']]
- ['addNodeVisitor', ['@Rector\NodeTypeResolver\NodeVisitor\TypeNodeVisitor']]
# adds types to caller of method calls and static calls via attribute (have to be after TypeResolver)
- ['addNodeVisitor', ['@Rector\NodeTypeResolver\NodeVisitor\CallerTypeResolver']]
- ['addNodeVisitor', ['@Rector\NodeTypeResolver\NodeVisitor\CallerTypeNodeVisitor']]
# PhpParser - Parser
PhpParser\Parser: