This commit is contained in:
TomasVotruba 2017-10-23 00:35:56 +02:00
parent 922cf52e7e
commit 1d7db4a932
3 changed files with 4 additions and 25 deletions

View File

@ -57,6 +57,7 @@ parameters:
- */src/Rector/Contrib/**/Helper/**.php - */src/Rector/Contrib/**/Helper/**.php
- packages/NodeTypeResolver/src/NodeVisitor/TypeResolver.php - packages/NodeTypeResolver/src/NodeVisitor/TypeResolver.php
- src/Builder/Contrib/Nette/RouterFactoryClassBuilder.php - src/Builder/Contrib/Nette/RouterFactoryClassBuilder.php
- packages/NodeTypeResolver/tests/NodeVisitor/ClassLikeTypeResolver/PropertyTest.php
Symplify\CodingStandard\Sniffs\Debug\CommentedOutCodeSniff: Symplify\CodingStandard\Sniffs\Debug\CommentedOutCodeSniff:
# false positives - @todo fix # false positives - @todo fix
- packages/DeprecationExtractor/src/Rector/UnsupportedDeprecationFilter.php - packages/DeprecationExtractor/src/Rector/UnsupportedDeprecationFilter.php

View File

@ -2,7 +2,6 @@
namespace Rector\NodeTypeResolver\NodeVisitor; namespace Rector\NodeTypeResolver\NodeVisitor;
use PhpCsFixer\DocBlock\DocBlock;
use PhpParser\Node; use PhpParser\Node;
use PhpParser\Node\Expr\ArrayDimFetch; use PhpParser\Node\Expr\ArrayDimFetch;
use PhpParser\Node\Expr\Assign; use PhpParser\Node\Expr\Assign;
@ -15,7 +14,6 @@ use PhpParser\Node\FunctionLike;
use PhpParser\Node\Name; use PhpParser\Node\Name;
use PhpParser\Node\Name\FullyQualified; use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\ClassLike; use PhpParser\Node\Stmt\ClassLike;
use PhpParser\Node\Stmt\Property;
use PhpParser\NodeVisitorAbstract; use PhpParser\NodeVisitorAbstract;
use Rector\BetterReflection\Reflector\MethodReflector; use Rector\BetterReflection\Reflector\MethodReflector;
use Rector\Exception\NotImplementedException; use Rector\Exception\NotImplementedException;
@ -54,6 +52,7 @@ final class TypeResolver extends NodeVisitorAbstract
* @var NodeTypeResolver * @var NodeTypeResolver
*/ */
private $nodeTypeResolver; private $nodeTypeResolver;
/** /**
* @var DocBlockAnalyzer * @var DocBlockAnalyzer
*/ */
@ -84,10 +83,6 @@ final class TypeResolver extends NodeVisitorAbstract
// done // done
$this->processPropertyFetch($propertyFetchNode); $this->processPropertyFetch($propertyFetchNode);
}; };
//
// $this->perNodeResolvers[Property::class] = function (Property $propertyNode): void {
// $this->processProperty($propertyNode);
// };
$this->methodReflector = $methodReflector; $this->methodReflector = $methodReflector;
$this->classAnalyzer = $classAnalyzer; $this->classAnalyzer = $classAnalyzer;
@ -256,23 +251,6 @@ final class TypeResolver extends NodeVisitorAbstract
} }
} }
private function processProperty(Property $propertyNode): void
{
$propertyName = (string) $propertyNode->props[0]->name;
$propertyType = $this->typeContext->getTypeForProperty($propertyName);
if ($propertyType === null) {
$propertyType = $this->docBlockAnalyzer->getAnnotationFromNode($propertyNode, 'var');
if ($propertyType) {
$this->typeContext->addPropertyType($propertyName, $propertyType);
}
}
if ($propertyType) {
$propertyNode->setAttribute(Attribute::TYPE, $propertyType);
}
}
private function processArrayDimMethodCall(PropertyFetch $propertyFetchNode): void private function processArrayDimMethodCall(PropertyFetch $propertyFetchNode): void
{ {
if ($propertyFetchNode->var->var instanceof MethodCall) { if ($propertyFetchNode->var->var instanceof MethodCall) {

View File

@ -2,6 +2,7 @@
namespace Rector\NodeTypeResolver\PerNodeTypeResolver; namespace Rector\NodeTypeResolver\PerNodeTypeResolver;
use Nette\DI\Container;
use PhpParser\Node; use PhpParser\Node;
use PhpParser\Node\Expr\Assign; use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Expr\MethodCall;
@ -13,7 +14,6 @@ use Rector\NodeTypeResolver\Contract\NodeTypeResolverAwareInterface;
use Rector\NodeTypeResolver\Contract\PerNodeTypeResolver\PerNodeTypeResolverInterface; use Rector\NodeTypeResolver\Contract\PerNodeTypeResolver\PerNodeTypeResolverInterface;
use Rector\NodeTypeResolver\NodeTypeResolver; use Rector\NodeTypeResolver\NodeTypeResolver;
use Rector\NodeTypeResolver\TypeContext; use Rector\NodeTypeResolver\TypeContext;
use Nette\DI\Container;
final class AssignTypeResolver implements PerNodeTypeResolverInterface, NodeTypeResolverAwareInterface final class AssignTypeResolver implements PerNodeTypeResolverInterface, NodeTypeResolverAwareInterface
{ {
@ -111,7 +111,7 @@ final class AssignTypeResolver implements PerNodeTypeResolverInterface, NodeType
// 2. get method() return type // 2. get method() return type
if ( ! $methodCallVariableType || ! $methodCallName) { if (! $methodCallVariableType || ! $methodCallName) {
return null; return null;
} }