Updated Rector to commit 19934737d8

19934737d8 Try external PhpDocNodeByTypeFinder (#352)
This commit is contained in:
Tomas Votruba 2021-07-01 14:10:40 +00:00
parent e4531b05de
commit fd5b91388f
9 changed files with 90 additions and 99 deletions

View File

@ -3,7 +3,6 @@
declare (strict_types=1);
namespace Rector\BetterPhpDocParser\PhpDocInfo;
use RectorPrefix20210701\Nette\Utils\Strings;
use PHPStan\PhpDocParser\Ast\Node;
use PHPStan\PhpDocParser\Ast\PhpDoc\InvalidTagValueNode;
use PHPStan\PhpDocParser\Ast\PhpDoc\MethodTagValueNode;
@ -24,9 +23,9 @@ use Rector\BetterPhpDocParser\Annotation\AnnotationNaming;
use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode;
use Rector\BetterPhpDocParser\PhpDoc\SpacelessPhpDocTagNode;
use Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher;
use Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder;
use Rector\BetterPhpDocParser\PhpDocNodeVisitor\ChangedPhpDocNodeVisitor;
use Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator;
use Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode;
use Rector\BetterPhpDocParser\ValueObject\Type\BracketsAwareUnionTypeNode;
use Rector\ChangesReporting\Collector\RectorChangeCollector;
use Rector\Core\Configuration\CurrentNodeProvider;
@ -87,7 +86,11 @@ final class PhpDocInfo
* @var \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher
*/
private $doctrineAnnotationMatcher;
public function __construct(\PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode $phpDocNode, \Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $betterTokenIterator, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \PhpParser\Node $node, \Rector\BetterPhpDocParser\Annotation\AnnotationNaming $annotationNaming, \Rector\Core\Configuration\CurrentNodeProvider $currentNodeProvider, \Rector\ChangesReporting\Collector\RectorChangeCollector $rectorChangeCollector, \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher $doctrineAnnotationMatcher)
/**
* @var \Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder
*/
private $phpDocNodeByTypeFinder;
public function __construct(\PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode $phpDocNode, \Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $betterTokenIterator, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \PhpParser\Node $node, \Rector\BetterPhpDocParser\Annotation\AnnotationNaming $annotationNaming, \Rector\Core\Configuration\CurrentNodeProvider $currentNodeProvider, \Rector\ChangesReporting\Collector\RectorChangeCollector $rectorChangeCollector, \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher $doctrineAnnotationMatcher, \Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder $phpDocNodeByTypeFinder)
{
$this->phpDocNode = $phpDocNode;
$this->betterTokenIterator = $betterTokenIterator;
@ -97,6 +100,7 @@ final class PhpDocInfo
$this->currentNodeProvider = $currentNodeProvider;
$this->rectorChangeCollector = $rectorChangeCollector;
$this->doctrineAnnotationMatcher = $doctrineAnnotationMatcher;
$this->phpDocNodeByTypeFinder = $phpDocNodeByTypeFinder;
$this->originalPhpDocNode = clone $phpDocNode;
if (!$betterTokenIterator->containsTokenType(\PHPStan\PhpDocParser\Lexer\Lexer::TOKEN_PHPDOC_EOL)) {
$this->isSingleLine = \true;
@ -191,7 +195,19 @@ final class PhpDocInfo
*/
public function hasByType(string $type) : bool
{
return (bool) $this->getByType($type);
foreach ($this->phpDocNode->children as $phpDocChildNode) {
if (\is_a($phpDocChildNode, $type, \true)) {
return \true;
}
if (!$phpDocChildNode instanceof \PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode) {
continue;
}
if (!\is_a($phpDocChildNode->value, $type, \true)) {
continue;
}
return \true;
}
return \false;
}
/**
* @param array<class-string<TNode>> $types
@ -245,6 +261,9 @@ final class PhpDocInfo
{
return $this->findOneByAnnotationClass($class);
}
/**
* @param class-string $class
*/
public function hasByAnnotationClass(string $class) : bool
{
return $this->findByAnnotationClass($class) !== [];
@ -270,27 +289,15 @@ final class PhpDocInfo
*/
public function findByAnnotationClass(string $desiredClass) : array
{
return $this->filterDoctrineTagValuesNodesINcludingNested($desiredClass);
}
/**
* @param class-string<TNode> $type
* @return TNode|null
*/
public function getByType(string $type)
{
foreach ($this->phpDocNode->children as $phpDocChildNode) {
if (\is_a($phpDocChildNode, $type, \true)) {
return $phpDocChildNode;
$desiredDoctrineTagValueNodes = [];
/** @var DoctrineAnnotationTagValueNode[] $doctrineTagValueNodes */
$doctrineTagValueNodes = $this->phpDocNodeByTypeFinder->findByType($this->phpDocNode, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode::class);
foreach ($doctrineTagValueNodes as $doctrineTagValueNode) {
if ($this->doctrineAnnotationMatcher->matches($doctrineTagValueNode, $desiredClass)) {
$desiredDoctrineTagValueNodes[] = $doctrineTagValueNode;
}
if (!$phpDocChildNode instanceof \PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode) {
continue;
}
if (!\is_a($phpDocChildNode->value, $type, \true)) {
continue;
}
return $phpDocChildNode->value;
}
return null;
return $desiredDoctrineTagValueNodes;
}
/**
* @deprecated, should accept only strings, to make it useful for developer who don't know internal logics of tag nodes; also not each tag requires node class
@ -482,59 +489,4 @@ final class PhpDocInfo
}
throw new \Rector\Core\Exception\NotImplementedYetException(\get_class($phpDocTagValueNode));
}
/**
* @return DoctrineAnnotationTagValueNode[]
*/
private function filterDoctrineTagValuesNodesINcludingNested(string $desiredClass) : array
{
$desiredDoctrineTagValueNodes = [];
$doctrineTagValueNodes = $this->getDoctrineTagValueNodesNestedIncluded();
foreach ($doctrineTagValueNodes as $doctrineTagValueNode) {
if ($this->doctrineAnnotationMatcher->matches($doctrineTagValueNode, $desiredClass)) {
$desiredDoctrineTagValueNodes[] = $doctrineTagValueNode;
}
}
return $desiredDoctrineTagValueNodes;
}
/**
* @return DoctrineAnnotationTagValueNode[]
*/
private function getDoctrineTagValueNodesNestedIncluded() : array
{
$doctrineTagValueNodes = [];
foreach ($this->phpDocNode->children as $phpDocChildNode) {
if (!$phpDocChildNode instanceof \PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode) {
continue;
}
if (!$phpDocChildNode->value instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) {
continue;
}
$doctrineTagValueNodes[] = $phpDocChildNode->value;
}
// search nested tags too
$nestedDoctrineTagValueNodes = $this->resolveNestedDoctrineTagValueNodes($doctrineTagValueNodes);
return \array_merge($doctrineTagValueNodes, $nestedDoctrineTagValueNodes);
}
/**
* @param DoctrineAnnotationTagValueNode[] $doctrineTagValueNodes
* @return DoctrineAnnotationTagValueNode[]
*/
private function resolveNestedDoctrineTagValueNodes(array $doctrineTagValueNodes) : array
{
$nestedDoctrineAnnotationTagValueNodes = [];
foreach ($doctrineTagValueNodes as $doctrineTagValueNode) {
foreach ($doctrineTagValueNode->getValues() as $nestedTagValue) {
if (!$nestedTagValue instanceof \Rector\BetterPhpDocParser\ValueObject\PhpDoc\DoctrineAnnotation\CurlyListNode) {
continue;
}
foreach ($nestedTagValue->getValues() as $nestedTagValueNestedValue) {
if (!$nestedTagValueNestedValue instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) {
continue;
}
$nestedDoctrineAnnotationTagValueNodes[] = $nestedTagValueNestedValue;
}
}
}
return $nestedDoctrineAnnotationTagValueNodes;
}
}

View File

@ -9,6 +9,7 @@ use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
use PHPStan\PhpDocParser\Lexer\Lexer;
use Rector\BetterPhpDocParser\Annotation\AnnotationNaming;
use Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher;
use Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder;
use Rector\BetterPhpDocParser\PhpDocNodeMapper;
use Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser;
use Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator;
@ -56,7 +57,11 @@ final class PhpDocInfoFactory
* @var \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher
*/
private $doctrineAnnotationMatcher;
public function __construct(\Rector\BetterPhpDocParser\PhpDocNodeMapper $phpDocNodeMapper, \Rector\Core\Configuration\CurrentNodeProvider $currentNodeProvider, \PHPStan\PhpDocParser\Lexer\Lexer $lexer, \Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser $betterPhpDocParser, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \Rector\BetterPhpDocParser\Annotation\AnnotationNaming $annotationNaming, \Rector\ChangesReporting\Collector\RectorChangeCollector $rectorChangeCollector, \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher $doctrineAnnotationMatcher)
/**
* @var \Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder
*/
private $phpDocNodeByTypeFinder;
public function __construct(\Rector\BetterPhpDocParser\PhpDocNodeMapper $phpDocNodeMapper, \Rector\Core\Configuration\CurrentNodeProvider $currentNodeProvider, \PHPStan\PhpDocParser\Lexer\Lexer $lexer, \Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser $betterPhpDocParser, \Rector\StaticTypeMapper\StaticTypeMapper $staticTypeMapper, \Rector\BetterPhpDocParser\Annotation\AnnotationNaming $annotationNaming, \Rector\ChangesReporting\Collector\RectorChangeCollector $rectorChangeCollector, \Rector\BetterPhpDocParser\PhpDocNodeFinder\DoctrineAnnotationMatcher $doctrineAnnotationMatcher, \Rector\BetterPhpDocParser\PhpDocNodeFinder\PhpDocNodeByTypeFinder $phpDocNodeByTypeFinder)
{
$this->phpDocNodeMapper = $phpDocNodeMapper;
$this->currentNodeProvider = $currentNodeProvider;
@ -66,6 +71,7 @@ final class PhpDocInfoFactory
$this->annotationNaming = $annotationNaming;
$this->rectorChangeCollector = $rectorChangeCollector;
$this->doctrineAnnotationMatcher = $doctrineAnnotationMatcher;
$this->phpDocNodeByTypeFinder = $phpDocNodeByTypeFinder;
}
public function createFromNodeOrEmpty(\PhpParser\Node $node) : \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo
{
@ -136,7 +142,7 @@ final class PhpDocInfoFactory
private function createFromPhpDocNode(\PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode $phpDocNode, \Rector\BetterPhpDocParser\ValueObject\Parser\BetterTokenIterator $betterTokenIterator, \PhpParser\Node $node) : \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo
{
$this->phpDocNodeMapper->transform($phpDocNode, $betterTokenIterator);
$phpDocInfo = new \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo($phpDocNode, $betterTokenIterator, $this->staticTypeMapper, $node, $this->annotationNaming, $this->currentNodeProvider, $this->rectorChangeCollector, $this->doctrineAnnotationMatcher);
$phpDocInfo = new \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo($phpDocNode, $betterTokenIterator, $this->staticTypeMapper, $node, $this->annotationNaming, $this->currentNodeProvider, $this->rectorChangeCollector, $this->doctrineAnnotationMatcher, $this->phpDocNodeByTypeFinder);
$node->setAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::PHP_DOC_INFO, $phpDocInfo);
return $phpDocInfo;
}

View File

@ -0,0 +1,31 @@
<?php
declare (strict_types=1);
namespace Rector\BetterPhpDocParser\PhpDocNodeFinder;
use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
use RectorPrefix20210701\Symplify\SimplePhpDocParser\PhpDocNodeTraverser;
/**
* @template TNode as \PHPStan\PhpDocParser\Ast\Node
*/
final class PhpDocNodeByTypeFinder
{
/**
* @param class-string<TNode> $desiredType
* @return array<TNode>
*/
public function findByType(\PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode $phpDocNode, string $desiredType) : array
{
$phpDocNodeTraverser = new \RectorPrefix20210701\Symplify\SimplePhpDocParser\PhpDocNodeTraverser();
$foundNodes = [];
$phpDocNodeTraverser->traverseWithCallable($phpDocNode, '', function ($node) use(&$foundNodes, $desiredType) {
if (!\is_a($node, $desiredType, \true)) {
return $node;
}
/** @var TNode $node */
$foundNodes[] = $node;
return $node;
});
return $foundNodes;
}
}

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = 'be037722bb7d87070d40f08af223a4f38d28c541';
public const PACKAGE_VERSION = '19934737d81b9d56a95c3cdd0ed467439a75c60c';
/**
* @var string
*/
public const RELEASE_DATE = '2021-07-01 15:25:13';
public const RELEASE_DATE = '2021-07-01 13:59:46';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210701\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43::getLoader();
return ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982::getLoader();

View File

@ -1522,6 +1522,7 @@ return array(
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\PropertyDocBlockManipulator' => $baseDir . '/packages/BetterPhpDocParser/PhpDocManipulator/PropertyDocBlockManipulator.php',
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\VarAnnotationManipulator' => $baseDir . '/packages/BetterPhpDocParser/PhpDocManipulator/VarAnnotationManipulator.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\DoctrineAnnotationMatcher' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeFinder/DoctrineAnnotationMatcher.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\PhpDocNodeByTypeFinder' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeFinder/PhpDocNodeByTypeFinder.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeMapper' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeMapper.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeTraverser\\ChangedPhpDocNodeTraverserFactory' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeTraverser/ChangedPhpDocNodeTraverserFactory.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ArrayTypePhpDocNodeVisitor' => $baseDir . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ArrayTypePhpDocNodeVisitor.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43
class ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit8dd7048d76dd05073fe17468e1217f43::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit8dd7048d76dd05073fe17468e1217f43::$files;
$includeFiles = Composer\Autoload\ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire8dd7048d76dd05073fe17468e1217f43($fileIdentifier, $file);
composerRequirea7dc6652ef8dc19eb0303bb35d006982($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire8dd7048d76dd05073fe17468e1217f43($fileIdentifier, $file)
function composerRequirea7dc6652ef8dc19eb0303bb35d006982($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit8dd7048d76dd05073fe17468e1217f43
class ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -1877,6 +1877,7 @@ class ComposerStaticInit8dd7048d76dd05073fe17468e1217f43
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\PropertyDocBlockManipulator' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocManipulator/PropertyDocBlockManipulator.php',
'Rector\\BetterPhpDocParser\\PhpDocManipulator\\VarAnnotationManipulator' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocManipulator/VarAnnotationManipulator.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\DoctrineAnnotationMatcher' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeFinder/DoctrineAnnotationMatcher.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeFinder\\PhpDocNodeByTypeFinder' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeFinder/PhpDocNodeByTypeFinder.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeMapper' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeMapper.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeTraverser\\ChangedPhpDocNodeTraverserFactory' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeTraverser/ChangedPhpDocNodeTraverserFactory.php',
'Rector\\BetterPhpDocParser\\PhpDocNodeVisitor\\ArrayTypePhpDocNodeVisitor' => __DIR__ . '/../..' . '/packages/BetterPhpDocParser/PhpDocNodeVisitor/ArrayTypePhpDocNodeVisitor.php',
@ -3842,9 +3843,9 @@ class ComposerStaticInit8dd7048d76dd05073fe17468e1217f43
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit8dd7048d76dd05073fe17468e1217f43::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit8dd7048d76dd05073fe17468e1217f43::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit8dd7048d76dd05073fe17468e1217f43::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInita7dc6652ef8dc19eb0303bb35d006982::$classMap;
}, null, ClassLoader::class);
}

View File

@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
spl_autoload_call('RectorPrefix20210701\CheckoutEntityFactory');
}
if (!class_exists('ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43', false) && !interface_exists('ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43', false) && !trait_exists('ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43', false)) {
spl_autoload_call('RectorPrefix20210701\ComposerAutoloaderInit8dd7048d76dd05073fe17468e1217f43');
if (!class_exists('ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982', false) && !interface_exists('ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982', false) && !trait_exists('ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982', false)) {
spl_autoload_call('RectorPrefix20210701\ComposerAutoloaderInita7dc6652ef8dc19eb0303bb35d006982');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210701\Doctrine\Inflector\Inflector');
@ -3320,9 +3320,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210701\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire8dd7048d76dd05073fe17468e1217f43')) {
function composerRequire8dd7048d76dd05073fe17468e1217f43() {
return \RectorPrefix20210701\composerRequire8dd7048d76dd05073fe17468e1217f43(...func_get_args());
if (!function_exists('composerRequirea7dc6652ef8dc19eb0303bb35d006982')) {
function composerRequirea7dc6652ef8dc19eb0303bb35d006982() {
return \RectorPrefix20210701\composerRequirea7dc6652ef8dc19eb0303bb35d006982(...func_get_args());
}
}
if (!function_exists('parseArgs')) {