make test run again

This commit is contained in:
Tomas Votruba 2018-04-28 14:53:01 +02:00
parent 3717f13ec1
commit f8a5fc7d55
3 changed files with 18 additions and 5 deletions

View File

@ -7,6 +7,7 @@ use Rector\NodeTraverserQueue\BetterNodeFinder;
use Rector\NodeTypeResolver\NodeTypeResolver;
use Rector\Rector\AbstractRector;
use Rector\ReflectionDocBlock\NodeAnalyzer\DocBlockAnalyzer;
use Rector\ReflectionDocBlock\NodeAnalyzer\NamespaceAnalyzer;
abstract class AbstractValueObjectRemoverRector extends AbstractRector
{
@ -30,6 +31,11 @@ abstract class AbstractValueObjectRemoverRector extends AbstractRector
*/
protected $betterNodeFinder;
/**
* @var NamespaceAnalyzer
*/
protected $namespaceAnalyzer;
/**
* @param string[] $valueObjectsToSimpleTypes
*/
@ -37,12 +43,14 @@ abstract class AbstractValueObjectRemoverRector extends AbstractRector
array $valueObjectsToSimpleTypes,
DocBlockAnalyzer $docBlockAnalyzer,
NodeTypeResolver $nodeTypeResolver,
BetterNodeFinder $betterNodeFinder
BetterNodeFinder $betterNodeFinder,
NamespaceAnalyzer $namespaceAnalyzer
) {
$this->valueObjectsToSimpleTypes = $valueObjectsToSimpleTypes;
$this->docBlockAnalyzer = $docBlockAnalyzer;
$this->nodeTypeResolver = $nodeTypeResolver;
$this->betterNodeFinder = $betterNodeFinder;
$this->namespaceAnalyzer = $namespaceAnalyzer;
}
/**

View File

@ -101,6 +101,7 @@ CODE_SAMPLE
private function refactorNullableType(NullableType $nullableTypeNode): NullableType
{
$newType = $this->matchNewType($nullableTypeNode->type);
if ($newType === null) {
return $nullableTypeNode;
}
@ -112,7 +113,11 @@ CODE_SAMPLE
/** @var ClassMethod $classMethodNode */
$classMethodNode = $parentNode->getAttribute(Attribute::PARENT_NODE);
$this->docBlockAnalyzer->renameNullable($classMethodNode, (string) $nullableTypeNode->type, $newType);
$oldType = $this->namespaceAnalyzer->resolveTypeToFullyQualified(
[(string) $nullableTypeNode->type],
$nullableTypeNode
);
$this->docBlockAnalyzer->renameNullable($classMethodNode, $oldType, $newType);
}
return $nullableTypeNode;

View File

@ -21,10 +21,10 @@ final class ValueObjectRemoverRectorTest extends AbstractRectorTestCase
public function provideWrongToFixedFiles(): Iterator
{
// yield [__DIR__ . '/Wrong/wrong.php.inc', __DIR__ . '/Correct/correct.php.inc'];
// yield [__DIR__ . '/Wrong/wrong2.php.inc', __DIR__ . '/Correct/correct2.php.inc'];
yield [__DIR__ . '/Wrong/wrong.php.inc', __DIR__ . '/Correct/correct.php.inc'];
yield [__DIR__ . '/Wrong/wrong2.php.inc', __DIR__ . '/Correct/correct2.php.inc'];
yield [__DIR__ . '/Wrong/wrong3.php.inc', __DIR__ . '/Correct/correct3.php.inc'];
// yield [__DIR__ . '/Wrong/wrong4.php.inc', __DIR__ . '/Correct/correct4.php.inc'];
yield [__DIR__ . '/Wrong/wrong4.php.inc', __DIR__ . '/Correct/correct4.php.inc'];
}
protected function provideConfig(): string