diff --git a/packages/NodeTypeResolver/src/PerNodeTypeResolver/NameTypeResolver.php b/packages/NodeTypeResolver/src/PerNodeTypeResolver/NameTypeResolver.php index ea0a5bcf97d..651d49d884f 100644 --- a/packages/NodeTypeResolver/src/PerNodeTypeResolver/NameTypeResolver.php +++ b/packages/NodeTypeResolver/src/PerNodeTypeResolver/NameTypeResolver.php @@ -38,6 +38,9 @@ final class NameTypeResolver implements PerNodeTypeResolverInterface } $fullyQualifiedName = $name->toString(); + if ($fullyQualifiedName === 'parent') { + return [$nameNode->getAttribute(Attribute::PARENT_CLASS_NAME)]; + } $types = []; $types[] = $fullyQualifiedName; diff --git a/packages/NodeTypeResolver/tests/PerNodeTypeResolver/NameTypeResolver/Source/ParentCall.php.inc b/packages/NodeTypeResolver/tests/PerNodeTypeResolver/NameTypeResolver/Source/ParentCall.php.inc new file mode 100644 index 00000000000..7890946343b --- /dev/null +++ b/packages/NodeTypeResolver/tests/PerNodeTypeResolver/NameTypeResolver/Source/ParentCall.php.inc @@ -0,0 +1,11 @@ +getNodesForFileOfType(__DIR__ . '/Source/ParentCall.php.inc', Name::class); + + $this->assertSame(['Nette\Config\Configurator'], $nameNodes[2]->getAttribute(Attribute::TYPES)); + } +} diff --git a/tests/Rector/Dynamic/MethodNameReplacerRector/config/rector.yml b/tests/Rector/Dynamic/MethodNameReplacerRector/config/rector.yml new file mode 100644 index 00000000000..2fd2e395440 --- /dev/null +++ b/tests/Rector/Dynamic/MethodNameReplacerRector/config/rector.yml @@ -0,0 +1,5 @@ +rectors: + Rector\Rector\Dynamic\NamespaceReplacerRector: + 'OldNamespace': 'NewNamespace' + 'OldNamespaceWith\OldSplitNamespace': 'NewNamespaceWith\NewSplitNamespace' + 'PHPUnit_Framework_': 'PHPUnit\Framework\' diff --git a/tests/Rector/Dynamic/MethodNameReplacerRector/correct/correct6.php.inc b/tests/Rector/Dynamic/MethodNameReplacerRector/correct/correct6.php.inc new file mode 100644 index 00000000000..c06a30f8b9f --- /dev/null +++ b/tests/Rector/Dynamic/MethodNameReplacerRector/correct/correct6.php.inc @@ -0,0 +1,3 @@ +