Updated Rector to commit 5af50aff13

5af50aff13 [TypeDeclaration] Add symfony route annotation support (#1578)
This commit is contained in:
Tomas Votruba 2021-12-27 12:50:18 +00:00
parent 901fe8ed44
commit 5a1382b023
13 changed files with 175 additions and 28 deletions

View File

@ -6,6 +6,8 @@ namespace Rector\TypeDeclaration\NodeAnalyzer;
use PhpParser\Node\Stmt\ClassMethod;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ClassReflection;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
use Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer;
use RectorPrefix20211227\Symplify\Astral\Naming\SimpleNameResolver;
final class ControllerRenderMethodAnalyzer
@ -20,10 +22,16 @@ final class ControllerRenderMethodAnalyzer
* @var \Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer
*/
private $phpAttributeAnalyzer;
public function __construct(\RectorPrefix20211227\Symplify\Astral\Naming\SimpleNameResolver $simpleNameResolver, \Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer $phpAttributeAnalyzer)
/**
* @readonly
* @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory
*/
private $phpDocInfoFactory;
public function __construct(\RectorPrefix20211227\Symplify\Astral\Naming\SimpleNameResolver $simpleNameResolver, \Rector\Php80\NodeAnalyzer\PhpAttributeAnalyzer $phpAttributeAnalyzer, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory $phpDocInfoFactory)
{
$this->simpleNameResolver = $simpleNameResolver;
$this->phpAttributeAnalyzer = $phpAttributeAnalyzer;
$this->phpDocInfoFactory = $phpDocInfoFactory;
}
public function isRenderMethod(\PhpParser\Node\Stmt\ClassMethod $classMethod, \PHPStan\Analyser\Scope $scope) : bool
{
@ -55,9 +63,16 @@ final class ControllerRenderMethodAnalyzer
if (!$classMethod->isPublic()) {
return \false;
}
if ($this->simpleNameResolver->isNames($classMethod->name, ['__invoke', '*render'])) {
if ($this->simpleNameResolver->isNames($classMethod->name, ['__invoke', '*action'])) {
return \true;
}
return $this->phpAttributeAnalyzer->hasPhpAttribute($classMethod, 'Symfony\\Component\\Routing\\Annotation\\Route');
if ($this->phpAttributeAnalyzer->hasPhpAttribute($classMethod, 'Symfony\\Component\\Routing\\Annotation\\Route')) {
return \true;
}
$phpDocInfo = $this->phpDocInfoFactory->createFromNode($classMethod);
if (!$phpDocInfo instanceof \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo) {
return \false;
}
return $phpDocInfo->hasByAnnotationClass('Symfony\\Component\\Routing\\Annotation\\Route');
}
}

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = '68dde1af511a5cb3b0296ee20e31d61f1ae02bea';
public const PACKAGE_VERSION = '5af50aff136dbb5d56403f779625bbca54c57098';
/**
* @var string
*/
public const RELEASE_DATE = '2021-12-27 11:19:52';
public const RELEASE_DATE = '2021-12-27 12:41:16';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20211227\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 ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080::getLoader();
return ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a::getLoader();

View File

@ -2263,6 +2263,7 @@ return array(
'Rector\\Nette\\Rector\\Assign\\MakeGetComponentAssignAnnotatedRector' => $vendorDir . '/rector/rector-nette/src/Rector/Assign/MakeGetComponentAssignAnnotatedRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\MergeTemplateSetFileToTemplateRenderRector' => $vendorDir . '/rector/rector-nette/src/Rector/ClassMethod/MergeTemplateSetFileToTemplateRenderRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\RemoveParentAndNameFromComponentConstructorRector' => $vendorDir . '/rector/rector-nette/src/Rector/ClassMethod/RemoveParentAndNameFromComponentConstructorRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\RenderMethodParamToTypeDeclarationRector' => $vendorDir . '/rector/rector-nette/src/Rector/ClassMethod/RenderMethodParamToTypeDeclarationRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\TemplateMagicAssignToExplicitVariableArrayRector' => $vendorDir . '/rector/rector-nette/src/Rector/ClassMethod/TemplateMagicAssignToExplicitVariableArrayRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\TranslateClassMethodToVariadicsRector' => $vendorDir . '/rector/rector-nette/src/Rector/ClassMethod/TranslateClassMethodToVariadicsRector.php',
'Rector\\Nette\\Rector\\Class_\\FormDataRector' => $vendorDir . '/rector/rector-nette/src/Rector/Class_/FormDataRector.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080
class ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a', '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\ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,12 +42,12 @@ class ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080::$files;
$includeFiles = Composer\Autoload\ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireb0109ba856782f6a3c9f43532d8f9080($fileIdentifier, $file);
composerRequiref0a0f398784a1e6034013cd1c0ab2e8a($fileIdentifier, $file);
}
return $loader;
@ -59,7 +59,7 @@ class ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080
* @param string $file
* @return void
*/
function composerRequireb0109ba856782f6a3c9f43532d8f9080($fileIdentifier, $file)
function composerRequiref0a0f398784a1e6034013cd1c0ab2e8a($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080
class ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a
{
public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@ -2658,6 +2658,7 @@ class ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080
'Rector\\Nette\\Rector\\Assign\\MakeGetComponentAssignAnnotatedRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/Assign/MakeGetComponentAssignAnnotatedRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\MergeTemplateSetFileToTemplateRenderRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/ClassMethod/MergeTemplateSetFileToTemplateRenderRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\RemoveParentAndNameFromComponentConstructorRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/ClassMethod/RemoveParentAndNameFromComponentConstructorRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\RenderMethodParamToTypeDeclarationRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/ClassMethod/RenderMethodParamToTypeDeclarationRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\TemplateMagicAssignToExplicitVariableArrayRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/ClassMethod/TemplateMagicAssignToExplicitVariableArrayRector.php',
'Rector\\Nette\\Rector\\ClassMethod\\TranslateClassMethodToVariadicsRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/ClassMethod/TranslateClassMethodToVariadicsRector.php',
'Rector\\Nette\\Rector\\Class_\\FormDataRector' => __DIR__ . '/..' . '/rector/rector-nette/src/Rector/Class_/FormDataRector.php',
@ -3839,9 +3840,9 @@ class ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitb0109ba856782f6a3c9f43532d8f9080::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitf0a0f398784a1e6034013cd1c0ab2e8a::$classMap;
}, null, ClassLoader::class);
}

View File

@ -2383,12 +2383,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/rectorphp\/rector-nette.git",
"reference": "78b5e9ead3121c93a547035836609ebc038f56d6"
"reference": "6a91498dd2f4a4be8e6fd0be2bc0eb245ac50e2e"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette\/zipball\/78b5e9ead3121c93a547035836609ebc038f56d6",
"reference": "78b5e9ead3121c93a547035836609ebc038f56d6",
"url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-nette\/zipball\/6a91498dd2f4a4be8e6fd0be2bc0eb245ac50e2e",
"reference": "6a91498dd2f4a4be8e6fd0be2bc0eb245ac50e2e",
"shasum": ""
},
"require": {
@ -2420,7 +2420,7 @@
"symplify\/rule-doc-generator": "^10.0",
"symplify\/vendor-patches": "^10.0"
},
"time": "2021-12-24T20:36:43+00:00",
"time": "2021-12-27T11:39:14+00:00",
"default-branch": true,
"type": "rector-extension",
"extra": {

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@ namespace Rector\RectorInstaller;
*/
final class GeneratedConfig
{
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main f601f07'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main d65a9b0'), 'rector/rector-generator' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-generator', 'relative_install_path' => '../../rector-generator', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 36d651e'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 7bcfd90'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 78b5e9e'), 'rector/rector-phpoffice' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpoffice', 'relative_install_path' => '../../rector-phpoffice', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 3f56f3b'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 0c41894'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 5f3889d'), 'ssch/typo3-rector' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/ssch/typo3-rector', 'relative_install_path' => '../../../ssch/typo3-rector', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 141c568'));
public const EXTENSIONS = array('rector/rector-cakephp' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-cakephp', 'relative_install_path' => '../../rector-cakephp', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main f601f07'), 'rector/rector-doctrine' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-doctrine', 'relative_install_path' => '../../rector-doctrine', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main d65a9b0'), 'rector/rector-generator' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-generator', 'relative_install_path' => '../../rector-generator', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 36d651e'), 'rector/rector-laravel' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-laravel', 'relative_install_path' => '../../rector-laravel', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 7bcfd90'), 'rector/rector-nette' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-nette', 'relative_install_path' => '../../rector-nette', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 6a91498'), 'rector/rector-phpoffice' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpoffice', 'relative_install_path' => '../../rector-phpoffice', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 3f56f3b'), 'rector/rector-phpunit' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-phpunit', 'relative_install_path' => '../../rector-phpunit', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 0c41894'), 'rector/rector-symfony' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/rector/rector-symfony', 'relative_install_path' => '../../rector-symfony', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 5f3889d'), 'ssch/typo3-rector' => array('install_path' => '/home/runner/work/rector-src/rector-src/vendor/ssch/typo3-rector', 'relative_install_path' => '../../../ssch/typo3-rector', 'extra' => array('includes' => array(0 => 'config/config.php')), 'version' => 'dev-main 141c568'));
private function __construct()
{
}

View File

@ -0,0 +1,11 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20211227;
use Rector\Nette\Rector\ClassMethod\RenderMethodParamToTypeDeclarationRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
$services = $containerConfigurator->services();
$services->set(\Rector\Nette\Rector\ClassMethod\RenderMethodParamToTypeDeclarationRector::class);
};

View File

@ -0,0 +1,115 @@
<?php
declare (strict_types=1);
namespace Rector\Nette\Rector\ClassMethod;
use PhpParser\Node;
use PhpParser\Node\Param;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\Core\Rector\AbstractRector;
use Rector\DeadCode\PhpDoc\TagRemover\ParamTagRemover;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\PHPStanStaticTypeMapper\Enum\TypeKind;
use Rector\TypeDeclaration\NodeAnalyzer\ControllerRenderMethodAnalyzer;
use Rector\TypeDeclaration\TypeInferer\ParamTypeInferer;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Nette\Tests\Rector\ClassMethod\RenderMethodParamToTypeDeclarationRector\RenderMethodParamToTypeDeclarationRectorTest
*/
final class RenderMethodParamToTypeDeclarationRector extends \Rector\Core\Rector\AbstractRector
{
/**
* @var bool
*/
private $hasChanged = \false;
/**
* @var \Rector\TypeDeclaration\TypeInferer\ParamTypeInferer
*/
private $paramTypeInferer;
/**
* @var \Rector\DeadCode\PhpDoc\TagRemover\ParamTagRemover
*/
private $paramTagRemover;
/**
* @var \Rector\TypeDeclaration\NodeAnalyzer\ControllerRenderMethodAnalyzer
*/
private $controllerRenderMethodAnalyzer;
public function __construct(\Rector\TypeDeclaration\TypeInferer\ParamTypeInferer $paramTypeInferer, \Rector\DeadCode\PhpDoc\TagRemover\ParamTagRemover $paramTagRemover, \Rector\TypeDeclaration\NodeAnalyzer\ControllerRenderMethodAnalyzer $controllerRenderMethodAnalyzer)
{
$this->paramTypeInferer = $paramTypeInferer;
$this->paramTagRemover = $paramTagRemover;
$this->controllerRenderMethodAnalyzer = $controllerRenderMethodAnalyzer;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Move @param declarations on render() method in Nette components and presenter to strict type declarations', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
use Nette\Application\UI\Control;
final class SomeControl extends Control
{
/**
* @param string $name
*/
public function render($name)
{
}
}
CODE_SAMPLE
, <<<'CODE_SAMPLE'
use Nette\Application\UI\Control;
final class SomeControl extends Control
{
public function render(string $name)
{
}
}
CODE_SAMPLE
)]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [\PhpParser\Node\Stmt\ClassMethod::class];
}
/**
* @param ClassMethod $node
*/
public function refactor(\PhpParser\Node $node)
{
$phpDocInfo = $this->phpDocInfoFactory->createFromNode($node);
if (!$phpDocInfo instanceof \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo) {
return null;
}
$scope = $node->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::SCOPE);
if (!$this->controllerRenderMethodAnalyzer->isRenderMethod($node, $scope)) {
return null;
}
// $node->getParams()
foreach ($node->params as $param) {
$this->refactorParam($param, $phpDocInfo, $node);
}
if ($this->hasChanged) {
return $node;
}
return null;
}
private function refactorParam(\PhpParser\Node\Param $param, \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo, \PhpParser\Node\Stmt\ClassMethod $classMethod) : void
{
if ($param->type !== null) {
return;
}
$inferedType = $this->paramTypeInferer->inferParam($param);
$paramType = $this->staticTypeMapper->mapPHPStanTypeToPhpParserNode($inferedType, \Rector\PHPStanStaticTypeMapper\Enum\TypeKind::PARAM());
if (!$paramType instanceof \PhpParser\Node) {
return;
}
$param->type = $paramType;
$this->hasChanged = \true;
$this->paramTagRemover->removeParamTagsIfUseless($phpDocInfo, $classMethod);
}
}

View File

@ -26,6 +26,10 @@ final class NetteSetList implements \Rector\Set\Contract\SetListInterface
* @var string
*/
public const NETTE_CODE_QUALITY = __DIR__ . '/../../config/sets/nette-code-quality.php';
/**
* @var string
*/
public const NETTE_STRICT = __DIR__ . '/../../config/sets/nette-strict.php';
/**
* @var string
*/

View File

@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
spl_autoload_call('RectorPrefix20211227\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080', false) && !interface_exists('ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080', false) && !trait_exists('ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080', false)) {
spl_autoload_call('RectorPrefix20211227\ComposerAutoloaderInitb0109ba856782f6a3c9f43532d8f9080');
if (!class_exists('ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a', false) && !interface_exists('ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a', false) && !trait_exists('ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a', false)) {
spl_autoload_call('RectorPrefix20211227\ComposerAutoloaderInitf0a0f398784a1e6034013cd1c0ab2e8a');
}
if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) {
spl_autoload_call('RectorPrefix20211227\Helmich\TypoScriptParser\Parser\AST\Statement');
@ -78,9 +78,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20211227\print_node(...func_get_args());
}
}
if (!function_exists('composerRequireb0109ba856782f6a3c9f43532d8f9080')) {
function composerRequireb0109ba856782f6a3c9f43532d8f9080() {
return \RectorPrefix20211227\composerRequireb0109ba856782f6a3c9f43532d8f9080(...func_get_args());
if (!function_exists('composerRequiref0a0f398784a1e6034013cd1c0ab2e8a')) {
function composerRequiref0a0f398784a1e6034013cd1c0ab2e8a() {
return \RectorPrefix20211227\composerRequiref0a0f398784a1e6034013cd1c0ab2e8a(...func_get_args());
}
}
if (!function_exists('scanPath')) {