From aa0465d3885c23b36765682f0702cbaf616fff12 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sun, 8 May 2022 20:57:50 +0000 Subject: [PATCH] Updated Rector to commit 975fdf113fab99b6120383211e997da2c820bd0a https://github.com/rectorphp/rector-src/commit/975fdf113fab99b6120383211e997da2c820bd0a [DX] Add StmtsAwareInterface to catch node by type (#2269) --- preload.php | 1 + rules/CodeQuality/NodeTypeGroup.php | 2 +- .../InlineArrayReturnAssignRector.php | 10 +- .../Stmt/RemoveUnreachableStatementRector.php | 9 +- .../ChangeNestedIfsToEarlyReturnRector.php | 9 +- src/Application/VersionResolver.php | 4 +- .../PhpParser/Node/StmtsAwareInterface.php | 13 ++ vendor/autoload.php | 2 +- vendor/composer/autoload_classmap.php | 2 + vendor/composer/autoload_real.php | 14 +- vendor/composer/autoload_static.php | 10 +- vendor/composer/installed.json | 26 +++- vendor/composer/installed.php | 2 +- vendor/nikic/php-parser/PATCHES.txt | 59 ++++++++ .../lib/PhpParser/Node/Expr/Closure.php | 3 +- .../lib/PhpParser/Node/Stmt/Case_.php | 3 +- .../lib/PhpParser/Node/Stmt/Catch_.php | 3 +- .../lib/PhpParser/Node/Stmt/ClassMethod.php | 3 +- .../lib/PhpParser/Node/Stmt/Do_.php | 3 +- .../lib/PhpParser/Node/Stmt/ElseIf_.php | 3 +- .../lib/PhpParser/Node/Stmt/Else_.php | 3 +- .../lib/PhpParser/Node/Stmt/Finally_.php | 3 +- .../lib/PhpParser/Node/Stmt/For_.php | 3 +- .../lib/PhpParser/Node/Stmt/Foreach_.php | 3 +- .../lib/PhpParser/Node/Stmt/Function_.php | 3 +- .../lib/PhpParser/Node/Stmt/If_.php | 3 +- .../lib/PhpParser/Node/Stmt/TryCatch.php | 3 +- .../lib/PhpParser/Node/Stmt/While_.php | 3 +- .../src/GeneratedConfig.php | 2 +- .../src/Helper/TemplateGuesser.php | 2 +- .../src/NodeFactory/ThisRenderFactory.php | 8 +- .../src/NodeFinder/EmptyReturnNodeFinder.php | 36 +++++ .../TemplateAnnotationToThisRenderRector.php | 132 ++++++++++-------- vendor/scoper-autoload.php | 10 +- 34 files changed, 276 insertions(+), 119 deletions(-) create mode 100644 src/Contract/PhpParser/Node/StmtsAwareInterface.php create mode 100644 vendor/nikic/php-parser/PATCHES.txt create mode 100644 vendor/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php diff --git a/preload.php b/preload.php index ff85d3693de..c5524e6c8d1 100644 --- a/preload.php +++ b/preload.php @@ -3,6 +3,7 @@ declare(strict_types=1); require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node.php'; +require_once __DIR__ . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php'; require_once __DIR__ . '/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php'; diff --git a/rules/CodeQuality/NodeTypeGroup.php b/rules/CodeQuality/NodeTypeGroup.php index 16e21dd1f11..782598399ff 100644 --- a/rules/CodeQuality/NodeTypeGroup.php +++ b/rules/CodeQuality/NodeTypeGroup.php @@ -22,8 +22,8 @@ final class NodeTypeGroup { /** * These nodes have a public $stmts property that can be iterated - based on https://github.com/rectorphp/php-parser-nodes-docs - * @todo create a virtual node, getStmts(): array * @var array> + * @api */ public const STMTS_AWARE = [\PhpParser\Node\Stmt\ClassMethod::class, \PhpParser\Node\Stmt\Function_::class, \PhpParser\Node\Stmt\If_::class, \PhpParser\Node\Stmt\Else_::class, \PhpParser\Node\Stmt\ElseIf_::class, \PhpParser\Node\Stmt\Do_::class, \PhpParser\Node\Stmt\Foreach_::class, \PhpParser\Node\Stmt\TryCatch::class, \PhpParser\Node\Stmt\While_::class, \PhpParser\Node\Stmt\For_::class, \PhpParser\Node\Expr\Closure::class, \PhpParser\Node\Stmt\Finally_::class, \PhpParser\Node\Stmt\Case_::class, \PhpParser\Node\Stmt\Catch_::class]; } diff --git a/rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php b/rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php index ef71a861880..2f965b9aa90 100644 --- a/rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php +++ b/rules/CodeQuality/Rector/ClassMethod/InlineArrayReturnAssignRector.php @@ -12,12 +12,11 @@ use PhpParser\Node\Stmt; use PhpParser\Node\Stmt\Expression; use PhpParser\Node\Stmt\Return_; use Rector\CodeQuality\NodeAnalyzer\VariableDimFetchAssignResolver; -use Rector\CodeQuality\NodeTypeGroup; use Rector\CodeQuality\ValueObject\KeyAndExpr; +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; use Rector\Core\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use RectorPrefix20220508\Webmozart\Assert\Assert; /** * @see \Rector\Tests\CodeQuality\Rector\ClassMethod\InlineArrayReturnAssignRector\InlineArrayReturnAssignRectorTest */ @@ -60,12 +59,13 @@ CODE_SAMPLE */ public function getNodeTypes() : array { - return \Rector\CodeQuality\NodeTypeGroup::STMTS_AWARE; + return [\Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface::class]; } + /** + * @param StmtsAwareInterface $node + */ public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node { - \RectorPrefix20220508\Webmozart\Assert\Assert::propertyExists($node, 'stmts'); - /** @var Stmt[]|null $stmts */ $stmts = $node->stmts; if ($stmts === null) { return null; diff --git a/rules/DeadCode/Rector/Stmt/RemoveUnreachableStatementRector.php b/rules/DeadCode/Rector/Stmt/RemoveUnreachableStatementRector.php index 903d180b5f7..e0e19133ff4 100644 --- a/rules/DeadCode/Rector/Stmt/RemoveUnreachableStatementRector.php +++ b/rules/DeadCode/Rector/Stmt/RemoveUnreachableStatementRector.php @@ -17,12 +17,11 @@ use PhpParser\Node\Stmt\Nop; use PhpParser\Node\Stmt\Return_; use PhpParser\Node\Stmt\Throw_; use PhpParser\Node\Stmt\TryCatch; -use Rector\CodeQuality\NodeTypeGroup; +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; use Rector\Core\Rector\AbstractRector; use Rector\NodeTypeResolver\Node\AttributeKey; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use RectorPrefix20220508\Webmozart\Assert\Assert; /** * @changelog https://github.com/phpstan/phpstan/blob/83078fe308a383c618b8c1caec299e5765d9ac82/src/Node/UnreachableStatementNode.php * @@ -59,11 +58,13 @@ CODE_SAMPLE */ public function getNodeTypes() : array { - return \Rector\CodeQuality\NodeTypeGroup::STMTS_AWARE; + return [\Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface::class]; } + /** + * @param StmtsAwareInterface $node + */ public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node { - \RectorPrefix20220508\Webmozart\Assert\Assert::propertyExists($node, 'stmts'); if ($node->stmts === null) { return null; } diff --git a/rules/EarlyReturn/Rector/If_/ChangeNestedIfsToEarlyReturnRector.php b/rules/EarlyReturn/Rector/If_/ChangeNestedIfsToEarlyReturnRector.php index 8a786dbac36..fc4acd8a240 100644 --- a/rules/EarlyReturn/Rector/If_/ChangeNestedIfsToEarlyReturnRector.php +++ b/rules/EarlyReturn/Rector/If_/ChangeNestedIfsToEarlyReturnRector.php @@ -9,13 +9,12 @@ use PhpParser\Node\Expr\BooleanNot; use PhpParser\Node\Stmt; use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\Return_; -use Rector\CodeQuality\NodeTypeGroup; +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; use Rector\Core\NodeManipulator\IfManipulator; use Rector\Core\Rector\AbstractRector; use Rector\EarlyReturn\NodeTransformer\ConditionInverter; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use RectorPrefix20220508\Webmozart\Assert\Assert; /** * @see \Rector\Tests\EarlyReturn\Rector\If_\ChangeNestedIfsToEarlyReturnRector\ChangeNestedIfsToEarlyReturnRectorTest */ @@ -77,11 +76,13 @@ CODE_SAMPLE */ public function getNodeTypes() : array { - return \Rector\CodeQuality\NodeTypeGroup::STMTS_AWARE; + return [\Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface::class]; } + /** + * @param StmtsAwareInterface $node + */ public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node { - \RectorPrefix20220508\Webmozart\Assert\Assert::propertyExists($node, 'stmts'); $stmts = $node->stmts; if ($stmts === null) { return null; diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index ce80821446a..b100e29d9ef 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -16,11 +16,11 @@ final class VersionResolver /** * @var string */ - public const PACKAGE_VERSION = '5a122e2b821bdf496cb19abc59c3d13c4db7ed7a'; + public const PACKAGE_VERSION = '975fdf113fab99b6120383211e997da2c820bd0a'; /** * @var string */ - public const RELEASE_DATE = '2022-05-08 13:22:35'; + public const RELEASE_DATE = '2022-05-08 20:50:37'; /** * @var string */ diff --git a/src/Contract/PhpParser/Node/StmtsAwareInterface.php b/src/Contract/PhpParser/Node/StmtsAwareInterface.php new file mode 100644 index 00000000000..14b6ece528e --- /dev/null +++ b/src/Contract/PhpParser/Node/StmtsAwareInterface.php @@ -0,0 +1,13 @@ + $baseDir . '/src/Contract/Console/OutputStyleInterface.php', 'Rector\\Core\\Contract\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverInterface' => $baseDir . '/src/Contract/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverInterface.php', 'Rector\\Core\\Contract\\PhpParser\\NodePrinterInterface' => $baseDir . '/src/Contract/PhpParser/NodePrinterInterface.php', + 'Rector\\Core\\Contract\\PhpParser\\Node\\StmtsAwareInterface' => $baseDir . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php', 'Rector\\Core\\Contract\\Processor\\FileProcessorInterface' => $baseDir . '/src/Contract/Processor/FileProcessorInterface.php', 'Rector\\Core\\Contract\\Rector\\AllowEmptyConfigurableRectorInterface' => $baseDir . '/src/Contract/Rector/AllowEmptyConfigurableRectorInterface.php', 'Rector\\Core\\Contract\\Rector\\ConfigurableRectorInterface' => $baseDir . '/src/Contract/Rector/ConfigurableRectorInterface.php', @@ -2927,6 +2928,7 @@ return array( 'Rector\\Symfony\\NodeFactory\\OnLogoutClassMethodFactory' => $vendorDir . '/rector/rector-symfony/src/NodeFactory/OnLogoutClassMethodFactory.php', 'Rector\\Symfony\\NodeFactory\\OnSuccessLogoutClassMethodFactory' => $vendorDir . '/rector/rector-symfony/src/NodeFactory/OnSuccessLogoutClassMethodFactory.php', 'Rector\\Symfony\\NodeFactory\\ThisRenderFactory' => $vendorDir . '/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php', + 'Rector\\Symfony\\NodeFinder\\EmptyReturnNodeFinder' => $vendorDir . '/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php', 'Rector\\Symfony\\PhpDocNode\\SymfonyRouteTagValueNodeFactory' => $vendorDir . '/rector/rector-symfony/src/PhpDocNode/SymfonyRouteTagValueNodeFactory.php', 'Rector\\Symfony\\Printer\\NeighbourClassLikePrinter' => $vendorDir . '/rector/rector-symfony/src/Printer/NeighbourClassLikePrinter.php', 'Rector\\Symfony\\Rector\\BinaryOp\\ResponseStatusCodeRector' => $vendorDir . '/rector/rector-symfony/src/Rector/BinaryOp/ResponseStatusCodeRector.php', diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index aebb2208a48..2da9c5ee721 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86 +class ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520 { private static $loader; @@ -22,19 +22,19 @@ class ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $includeFiles = \Composer\Autoload\ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86::$files; + $includeFiles = \Composer\Autoload\ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520::$files; foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire3b740c4d66e00d2a36af6430072d5a86($fileIdentifier, $file); + composerRequire3e72a055e0bf2e893f97d40cfd760520($fileIdentifier, $file); } return $loader; @@ -46,7 +46,7 @@ class ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86 * @param string $file * @return void */ -function composerRequire3b740c4d66e00d2a36af6430072d5a86($fileIdentifier, $file) +function composerRequire3e72a055e0bf2e893f97d40cfd760520($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 6e86966ec57..58932a3b674 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86 +class ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520 { public static $files = array ( '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', @@ -2033,6 +2033,7 @@ class ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86 'Rector\\Core\\Contract\\Console\\OutputStyleInterface' => __DIR__ . '/../..' . '/src/Contract/Console/OutputStyleInterface.php', 'Rector\\Core\\Contract\\PHPStan\\Reflection\\TypeToCallReflectionResolver\\TypeToCallReflectionResolverInterface' => __DIR__ . '/../..' . '/src/Contract/PHPStan/Reflection/TypeToCallReflectionResolver/TypeToCallReflectionResolverInterface.php', 'Rector\\Core\\Contract\\PhpParser\\NodePrinterInterface' => __DIR__ . '/../..' . '/src/Contract/PhpParser/NodePrinterInterface.php', + 'Rector\\Core\\Contract\\PhpParser\\Node\\StmtsAwareInterface' => __DIR__ . '/../..' . '/src/Contract/PhpParser/Node/StmtsAwareInterface.php', 'Rector\\Core\\Contract\\Processor\\FileProcessorInterface' => __DIR__ . '/../..' . '/src/Contract/Processor/FileProcessorInterface.php', 'Rector\\Core\\Contract\\Rector\\AllowEmptyConfigurableRectorInterface' => __DIR__ . '/../..' . '/src/Contract/Rector/AllowEmptyConfigurableRectorInterface.php', 'Rector\\Core\\Contract\\Rector\\ConfigurableRectorInterface' => __DIR__ . '/../..' . '/src/Contract/Rector/ConfigurableRectorInterface.php', @@ -3296,6 +3297,7 @@ class ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86 'Rector\\Symfony\\NodeFactory\\OnLogoutClassMethodFactory' => __DIR__ . '/..' . '/rector/rector-symfony/src/NodeFactory/OnLogoutClassMethodFactory.php', 'Rector\\Symfony\\NodeFactory\\OnSuccessLogoutClassMethodFactory' => __DIR__ . '/..' . '/rector/rector-symfony/src/NodeFactory/OnSuccessLogoutClassMethodFactory.php', 'Rector\\Symfony\\NodeFactory\\ThisRenderFactory' => __DIR__ . '/..' . '/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php', + 'Rector\\Symfony\\NodeFinder\\EmptyReturnNodeFinder' => __DIR__ . '/..' . '/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php', 'Rector\\Symfony\\PhpDocNode\\SymfonyRouteTagValueNodeFactory' => __DIR__ . '/..' . '/rector/rector-symfony/src/PhpDocNode/SymfonyRouteTagValueNodeFactory.php', 'Rector\\Symfony\\Printer\\NeighbourClassLikePrinter' => __DIR__ . '/..' . '/rector/rector-symfony/src/Printer/NeighbourClassLikePrinter.php', 'Rector\\Symfony\\Rector\\BinaryOp\\ResponseStatusCodeRector' => __DIR__ . '/..' . '/rector/rector-symfony/src/Rector/BinaryOp/ResponseStatusCodeRector.php', @@ -3882,9 +3884,9 @@ class ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit3b740c4d66e00d2a36af6430072d5a86::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit3e72a055e0bf2e893f97d40cfd760520::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 4987e85b8ee..6afdba56bb0 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -925,7 +925,23 @@ "extra": { "branch-alias": { "dev-master": "4.9-dev" - } + }, + "patches_applied": [ + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-expr-closure-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-finally-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-function-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-do-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-catch-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-trycatch-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-for-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-classmethod-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-else-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-while-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-foreach-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-if-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-case-php.patch", + "https:\/\/raw.githubusercontent.com\/rectorphp\/vendor-patches\/main\/patches\/nikic-php-parser-lib-phpparser-node-stmt-elseif-php.patch" + ] }, "installation-source": "dist", "autoload": { @@ -2628,12 +2644,12 @@ "source": { "type": "git", "url": "https:\/\/github.com\/rectorphp\/rector-symfony.git", - "reference": "df561edade3487e5527a30c44099e3865821686e" + "reference": "a30ba67f3cd083583d6b7b2d69213d2eb8cf1616" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/df561edade3487e5527a30c44099e3865821686e", - "reference": "df561edade3487e5527a30c44099e3865821686e", + "url": "https:\/\/api.github.com\/repos\/rectorphp\/rector-symfony\/zipball\/a30ba67f3cd083583d6b7b2d69213d2eb8cf1616", + "reference": "a30ba67f3cd083583d6b7b2d69213d2eb8cf1616", "shasum": "" }, "require": { @@ -2661,7 +2677,7 @@ "symplify\/rule-doc-generator": "^10.2", "symplify\/vendor-patches": "^10.2" }, - "time": "2022-05-06T17:31:13+00:00", + "time": "2022-05-08T15:29:30+00:00", "default-branch": true, "type": "rector-extension", "extra": { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index cc66afd11c1..5ce703c79fb 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -2,4 +2,4 @@ namespace RectorPrefix20220508; -return array('root' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.12.x-dev'), 'reference' => \NULL, 'name' => 'rector/rector-src', 'dev' => \false), 'versions' => array('clue/ndjson-react' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../clue/ndjson-react', 'aliases' => array(), 'reference' => '708411c7e45ac85371a99d50f52284971494bede', 'dev_requirement' => \false), 'composer/pcre' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'reference' => 'e300eb6c535192decd27a85bc72a9290f0d6b3bd', 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'dev_requirement' => \false), 'cweagans/composer-patches' => array('pretty_version' => '1.7.2', 'version' => '1.7.2.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../cweagans/composer-patches', 'aliases' => array(), 'reference' => 'e9969cfc0796e6dea9b4e52f77f18e1065212871', 'dev_requirement' => \false), 'doctrine/inflector' => array('pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89', 'dev_requirement' => \false), 'ergebnis/json-printer' => array('pretty_version' => '3.2.0', 'version' => '3.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../ergebnis/json-printer', 'aliases' => array(), 'reference' => '651cab2b7604a6b338d0d16749f5ea0851a68005', 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../evenement/evenement', 'aliases' => array(), 'reference' => '531bfb9d15f8aa57454f5f0285b18bec903b8fb7', 'dev_requirement' => \false), 'helmich/typo3-typoscript-parser' => array('pretty_version' => 'v2.4.1', 'version' => '2.4.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../helmich/typo3-typoscript-parser', 'aliases' => array(), 'reference' => 'b61bc9d63d42901d08885c18f6c691aa0f0c800d', 'dev_requirement' => \false), 'idiosyncratic/editorconfig' => array('pretty_version' => '0.1.3', 'version' => '0.1.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../idiosyncratic/editorconfig', 'aliases' => array(), 'reference' => '3445fa4a1e00f95630d4edc729c2effb116db19b', 'dev_requirement' => \false), 'myclabs/php-enum' => array('pretty_version' => '1.8.3', 'version' => '1.8.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/php-enum', 'aliases' => array(), 'reference' => 'b942d263c641ddb5190929ff840c68f78713e937', 'dev_requirement' => \false), 'nette/neon' => array('pretty_version' => 'v3.3.3', 'version' => '3.3.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/neon', 'aliases' => array(), 'reference' => '22e384da162fab42961d48eb06c06d3ad0c11b95', 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.7', 'version' => '3.2.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'reference' => '0af4e3de4df9f1543534beab255ccf459e7a2c99', 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.13.2', 'version' => '4.13.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'reference' => '210577fe3cf7badcc5814d99455df46564f3c077', 'dev_requirement' => \false), 'ondram/ci-detector' => array('pretty_version' => '4.1.0', 'version' => '4.1.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../ondram/ci-detector', 'aliases' => array(), 'reference' => '8a4b664e916df82ff26a44709942dfd593fa6f30', 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.5.1', 'version' => '1.5.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'reference' => '981cc368a216c988e862a75e526b6076987d1b50', 'dev_requirement' => \false), 'phpstan/phpstan' => array('pretty_version' => '1.6.7', 'version' => '1.6.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), 'reference' => 'd41c39cb2e487663bce9bbd97c660e244b73abad', 'dev_requirement' => \false), 'phpstan/phpstan-phpunit' => array('pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../phpstan/phpstan-phpunit', 'aliases' => array(), 'reference' => '4a3c437c09075736285d1cabb5c75bf27ed0bc84', 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/event-dispatcher' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'reference' => 'ef29f6d262798707a9edd554e2b82517ef3a9376', 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0|3.0')), 'react/cache' => array('pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/cache', 'aliases' => array(), 'reference' => '4bf736a2cccec7298bdf745db77585966fc2ca7e', 'dev_requirement' => \false), 'react/child-process' => array('pretty_version' => 'v0.6.4', 'version' => '0.6.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/child-process', 'aliases' => array(), 'reference' => 'a778f3fb828d68caf8a9ab6567fd8342a86f12fe', 'dev_requirement' => \false), 'react/dns' => array('pretty_version' => 'v1.9.0', 'version' => '1.9.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'reference' => '6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb', 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'reference' => '187fb56f46d424afb6ec4ad089269c72eec2e137', 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.9.0', 'version' => '2.9.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'reference' => '234f8fd1023c9158e2314fa9d7d0e6a83db42910', 'dev_requirement' => \false), 'react/promise-timer' => array('pretty_version' => 'v1.8.0', 'version' => '1.8.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise-timer', 'aliases' => array(), 'reference' => '0bbbcc79589e5bfdddba68a287f1cb805581a479', 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.11.0', 'version' => '1.11.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'reference' => 'f474156aaab4f09041144fa8b57c7d70aed32a1c', 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/stream', 'aliases' => array(), 'reference' => '7a423506ee1903e89f1e08ec5f0ed430ff784ae9', 'dev_requirement' => \false), 'rector/extension-installer' => array('pretty_version' => '0.11.2', 'version' => '0.11.2.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../rector/extension-installer', 'aliases' => array(), 'reference' => '05544e9b195863b8571ae2a3b903cbec7fa062e0', 'dev_requirement' => \false), 'rector/rector' => array('dev_requirement' => \false, 'replaced' => array(0 => '0.12.x-dev', 1 => 'dev-main')), 'rector/rector-cakephp' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-cakephp', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'b59802ffb84998800ad739243aede1a13e50973d', 'dev_requirement' => \false), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '77c17ba507dc8502922ed36e7647532267963e65', 'dev_requirement' => \false), 'rector/rector-generator' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-generator', 'aliases' => array(0 => '9999999-dev'), 'reference' => '784271e3a88068bc6a1a14654eac565661fb0f77', 'dev_requirement' => \false), 'rector/rector-laravel' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-laravel', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '6d0fcdc323ec28a1602bc7d91ac859ef2951ce6d', 'dev_requirement' => \false), 'rector/rector-nette' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-nette', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'eb83b5cea22a4e331bd1484f3963580f9da9ece5', 'dev_requirement' => \false), 'rector/rector-phpoffice' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpoffice', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'e544f2a885fd0477e7c6c1287b2ff029411cbd3b', 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpunit', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '0dd840beea0647c5b9e4e7c7a39c5d2056b6213b', 'dev_requirement' => \false), 'rector/rector-src' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.12.x-dev'), 'reference' => \NULL, 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'df561edade3487e5527a30c44099e3865821686e', 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d', 'dev_requirement' => \false), 'ssch/typo3-rector' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../ssch/typo3-rector', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '5abcdf59d98f9400e299975870f0d82440bf9c23', 'dev_requirement' => \false), 'symfony/cache-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/config' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'reference' => '6ac50d559aa64c8e7b5b17640c46241e4accb487', 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'reference' => '0d00aa289215353aa8746a31d101f8e60826285c', 'dev_requirement' => \false), 'symfony/contracts' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/contracts', 'aliases' => array(), 'reference' => 'f74917e5665e24008ac9bc3f0947a63b42e1f895', 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'reference' => '571041cd7e765664cc527b461ee41be3013aa08e', 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/event-dispatcher-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/filesystem' => array('pretty_version' => 'v6.0.7', 'version' => '6.0.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'reference' => '6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff', 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'reference' => 'af7edab28d17caecd1f40a9219fc646ae751c21f', 'dev_requirement' => \false), 'symfony/http-client-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/polyfill-ctype' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'reference' => '30885182c981ab175d4d034db0f6f469898070ab', 'dev_requirement' => \false), 'symfony/polyfill-intl-grapheme' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), 'reference' => '81b86b50cf841a64252b439e738e97f4a34e2783', 'dev_requirement' => \false), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825', 'dev_requirement' => \false), 'symfony/polyfill-php81' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php81', 'aliases' => array(), 'reference' => '5de4ba2d41b15f9bd0e19b2ab9674135813ec98f', 'dev_requirement' => \false), 'symfony/process' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), 'reference' => 'd074154ea8b1443a96391f6e39f9e547b2dd01b9', 'dev_requirement' => \false), 'symfony/service-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'reference' => 'ac0aa5c2282e0de624c175b68d13f2c8f2e2649d', 'dev_requirement' => \false), 'symfony/translation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/yaml' => array('pretty_version' => 'v6.0.3', 'version' => '6.0.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), 'reference' => 'e77f3ea0b21141d771d4a5655faa54f692b34af5', 'dev_requirement' => \false), 'symplify/astral' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../symplify/astral', 'aliases' => array(), 'reference' => 'abc69fb64cc0e3efe39ab8afedda0a3172c5aeab', 'dev_requirement' => \false), 'symplify/autowire-array-parameter' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/autowire-array-parameter', 'aliases' => array(), 'reference' => 'eeb9fcc50e6107d00757c946da65803f803f7374', 'dev_requirement' => \false), 'symplify/composer-json-manipulator' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symplify/composer-json-manipulator', 'aliases' => array(), 'reference' => '4cf2dde54381c9b74020e096aba8e182512c4874', 'dev_requirement' => \false), 'symplify/easy-parallel' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/easy-parallel', 'aliases' => array(), 'reference' => 'b9cd3a812efbaeda81296db608b9117f64d37dde', 'dev_requirement' => \false), 'symplify/easy-testing' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symplify/easy-testing', 'aliases' => array(), 'reference' => 'dd35d759d09559e75bdb5fc57a225ba85f0f0729', 'dev_requirement' => \false), 'symplify/package-builder' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/package-builder', 'aliases' => array(), 'reference' => '539e74e353f85f7e14c6932300886e013bfb2f20', 'dev_requirement' => \false), 'symplify/rule-doc-generator-contracts' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/rule-doc-generator-contracts', 'aliases' => array(), 'reference' => '091871a30a40dc3c5a1e97aa60560279ea43b287', 'dev_requirement' => \false), 'symplify/skipper' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/skipper', 'aliases' => array(), 'reference' => '21a509e5c9129036e6949292700ddd0482c4bd2a', 'dev_requirement' => \false), 'symplify/smart-file-system' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/smart-file-system', 'aliases' => array(), 'reference' => '0376a208b8015899da0a9a4eecfc22eec1d374d3', 'dev_requirement' => \false), 'symplify/symplify-kernel' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/symplify-kernel', 'aliases' => array(), 'reference' => 'e18240bd39fa54e21da1d1833d87603c15cbb542', 'dev_requirement' => \false), 'symplify/vendor-patches' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/vendor-patches', 'aliases' => array(), 'reference' => 'b806546744744c035872c0e263eb64b11dac0ca5', 'dev_requirement' => \false), 'tracy/tracy' => array('pretty_version' => 'v2.9.2', 'version' => '2.9.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../tracy/tracy', 'aliases' => array(), 'reference' => '03965a7cb94d284dbf7e3b788b3691715c13d401', 'dev_requirement' => \false), 'webmozart/assert' => array('pretty_version' => '1.10.0', 'version' => '1.10.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25', 'dev_requirement' => \false))); +return array('root' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.12.x-dev'), 'reference' => \NULL, 'name' => 'rector/rector-src', 'dev' => \false), 'versions' => array('clue/ndjson-react' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../clue/ndjson-react', 'aliases' => array(), 'reference' => '708411c7e45ac85371a99d50f52284971494bede', 'dev_requirement' => \false), 'composer/pcre' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'reference' => 'e300eb6c535192decd27a85bc72a9290f0d6b3bd', 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'dev_requirement' => \false), 'cweagans/composer-patches' => array('pretty_version' => '1.7.2', 'version' => '1.7.2.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../cweagans/composer-patches', 'aliases' => array(), 'reference' => 'e9969cfc0796e6dea9b4e52f77f18e1065212871', 'dev_requirement' => \false), 'doctrine/inflector' => array('pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'reference' => '8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89', 'dev_requirement' => \false), 'ergebnis/json-printer' => array('pretty_version' => '3.2.0', 'version' => '3.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../ergebnis/json-printer', 'aliases' => array(), 'reference' => '651cab2b7604a6b338d0d16749f5ea0851a68005', 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../evenement/evenement', 'aliases' => array(), 'reference' => '531bfb9d15f8aa57454f5f0285b18bec903b8fb7', 'dev_requirement' => \false), 'helmich/typo3-typoscript-parser' => array('pretty_version' => 'v2.4.1', 'version' => '2.4.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../helmich/typo3-typoscript-parser', 'aliases' => array(), 'reference' => 'b61bc9d63d42901d08885c18f6c691aa0f0c800d', 'dev_requirement' => \false), 'idiosyncratic/editorconfig' => array('pretty_version' => '0.1.3', 'version' => '0.1.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../idiosyncratic/editorconfig', 'aliases' => array(), 'reference' => '3445fa4a1e00f95630d4edc729c2effb116db19b', 'dev_requirement' => \false), 'myclabs/php-enum' => array('pretty_version' => '1.8.3', 'version' => '1.8.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/php-enum', 'aliases' => array(), 'reference' => 'b942d263c641ddb5190929ff840c68f78713e937', 'dev_requirement' => \false), 'nette/neon' => array('pretty_version' => 'v3.3.3', 'version' => '3.3.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/neon', 'aliases' => array(), 'reference' => '22e384da162fab42961d48eb06c06d3ad0c11b95', 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.7', 'version' => '3.2.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'reference' => '0af4e3de4df9f1543534beab255ccf459e7a2c99', 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.13.2', 'version' => '4.13.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'reference' => '210577fe3cf7badcc5814d99455df46564f3c077', 'dev_requirement' => \false), 'ondram/ci-detector' => array('pretty_version' => '4.1.0', 'version' => '4.1.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../ondram/ci-detector', 'aliases' => array(), 'reference' => '8a4b664e916df82ff26a44709942dfd593fa6f30', 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.5.1', 'version' => '1.5.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'reference' => '981cc368a216c988e862a75e526b6076987d1b50', 'dev_requirement' => \false), 'phpstan/phpstan' => array('pretty_version' => '1.6.7', 'version' => '1.6.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), 'reference' => 'd41c39cb2e487663bce9bbd97c660e244b73abad', 'dev_requirement' => \false), 'phpstan/phpstan-phpunit' => array('pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../phpstan/phpstan-phpunit', 'aliases' => array(), 'reference' => '4a3c437c09075736285d1cabb5c75bf27ed0bc84', 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/event-dispatcher' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'reference' => 'ef29f6d262798707a9edd554e2b82517ef3a9376', 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0|3.0')), 'react/cache' => array('pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/cache', 'aliases' => array(), 'reference' => '4bf736a2cccec7298bdf745db77585966fc2ca7e', 'dev_requirement' => \false), 'react/child-process' => array('pretty_version' => 'v0.6.4', 'version' => '0.6.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/child-process', 'aliases' => array(), 'reference' => 'a778f3fb828d68caf8a9ab6567fd8342a86f12fe', 'dev_requirement' => \false), 'react/dns' => array('pretty_version' => 'v1.9.0', 'version' => '1.9.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'reference' => '6d38296756fa644e6cb1bfe95eff0f9a4ed6edcb', 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'reference' => '187fb56f46d424afb6ec4ad089269c72eec2e137', 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.9.0', 'version' => '2.9.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'reference' => '234f8fd1023c9158e2314fa9d7d0e6a83db42910', 'dev_requirement' => \false), 'react/promise-timer' => array('pretty_version' => 'v1.8.0', 'version' => '1.8.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise-timer', 'aliases' => array(), 'reference' => '0bbbcc79589e5bfdddba68a287f1cb805581a479', 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.11.0', 'version' => '1.11.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'reference' => 'f474156aaab4f09041144fa8b57c7d70aed32a1c', 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../react/stream', 'aliases' => array(), 'reference' => '7a423506ee1903e89f1e08ec5f0ed430ff784ae9', 'dev_requirement' => \false), 'rector/extension-installer' => array('pretty_version' => '0.11.2', 'version' => '0.11.2.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../rector/extension-installer', 'aliases' => array(), 'reference' => '05544e9b195863b8571ae2a3b903cbec7fa062e0', 'dev_requirement' => \false), 'rector/rector' => array('dev_requirement' => \false, 'replaced' => array(0 => '0.12.x-dev', 1 => 'dev-main')), 'rector/rector-cakephp' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-cakephp', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'b59802ffb84998800ad739243aede1a13e50973d', 'dev_requirement' => \false), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '77c17ba507dc8502922ed36e7647532267963e65', 'dev_requirement' => \false), 'rector/rector-generator' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-generator', 'aliases' => array(0 => '9999999-dev'), 'reference' => '784271e3a88068bc6a1a14654eac565661fb0f77', 'dev_requirement' => \false), 'rector/rector-laravel' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-laravel', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '6d0fcdc323ec28a1602bc7d91ac859ef2951ce6d', 'dev_requirement' => \false), 'rector/rector-nette' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-nette', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'eb83b5cea22a4e331bd1484f3963580f9da9ece5', 'dev_requirement' => \false), 'rector/rector-phpoffice' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpoffice', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'e544f2a885fd0477e7c6c1287b2ff029411cbd3b', 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpunit', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '0dd840beea0647c5b9e4e7c7a39c5d2056b6213b', 'dev_requirement' => \false), 'rector/rector-src' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.12.x-dev'), 'reference' => \NULL, 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => 'a30ba67f3cd083583d6b7b2d69213d2eb8cf1616', 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d', 'dev_requirement' => \false), 'ssch/typo3-rector' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../ssch/typo3-rector', 'aliases' => array(0 => '0.11.x-dev'), 'reference' => '5abcdf59d98f9400e299975870f0d82440bf9c23', 'dev_requirement' => \false), 'symfony/cache-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/config' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'reference' => '6ac50d559aa64c8e7b5b17640c46241e4accb487', 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'reference' => '0d00aa289215353aa8746a31d101f8e60826285c', 'dev_requirement' => \false), 'symfony/contracts' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/contracts', 'aliases' => array(), 'reference' => 'f74917e5665e24008ac9bc3f0947a63b42e1f895', 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'reference' => '571041cd7e765664cc527b461ee41be3013aa08e', 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/event-dispatcher-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/filesystem' => array('pretty_version' => 'v6.0.7', 'version' => '6.0.7.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'reference' => '6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff', 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'reference' => 'af7edab28d17caecd1f40a9219fc646ae751c21f', 'dev_requirement' => \false), 'symfony/http-client-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/polyfill-ctype' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'reference' => '30885182c981ab175d4d034db0f6f469898070ab', 'dev_requirement' => \false), 'symfony/polyfill-intl-grapheme' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), 'reference' => '81b86b50cf841a64252b439e738e97f4a34e2783', 'dev_requirement' => \false), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'reference' => '0abb51d2f102e00a4eefcf46ba7fec406d245825', 'dev_requirement' => \false), 'symfony/polyfill-php81' => array('pretty_version' => 'v1.25.0', 'version' => '1.25.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php81', 'aliases' => array(), 'reference' => '5de4ba2d41b15f9bd0e19b2ab9674135813ec98f', 'dev_requirement' => \false), 'symfony/process' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), 'reference' => 'd074154ea8b1443a96391f6e39f9e547b2dd01b9', 'dev_requirement' => \false), 'symfony/service-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.0.8', 'version' => '6.0.8.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'reference' => 'ac0aa5c2282e0de624c175b68d13f2c8f2e2649d', 'dev_requirement' => \false), 'symfony/translation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.0.1')), 'symfony/yaml' => array('pretty_version' => 'v6.0.3', 'version' => '6.0.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), 'reference' => 'e77f3ea0b21141d771d4a5655faa54f692b34af5', 'dev_requirement' => \false), 'symplify/astral' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../symplify/astral', 'aliases' => array(), 'reference' => 'abc69fb64cc0e3efe39ab8afedda0a3172c5aeab', 'dev_requirement' => \false), 'symplify/autowire-array-parameter' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/autowire-array-parameter', 'aliases' => array(), 'reference' => 'eeb9fcc50e6107d00757c946da65803f803f7374', 'dev_requirement' => \false), 'symplify/composer-json-manipulator' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symplify/composer-json-manipulator', 'aliases' => array(), 'reference' => '4cf2dde54381c9b74020e096aba8e182512c4874', 'dev_requirement' => \false), 'symplify/easy-parallel' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/easy-parallel', 'aliases' => array(), 'reference' => 'b9cd3a812efbaeda81296db608b9117f64d37dde', 'dev_requirement' => \false), 'symplify/easy-testing' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symplify/easy-testing', 'aliases' => array(), 'reference' => 'dd35d759d09559e75bdb5fc57a225ba85f0f0729', 'dev_requirement' => \false), 'symplify/package-builder' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/package-builder', 'aliases' => array(), 'reference' => '539e74e353f85f7e14c6932300886e013bfb2f20', 'dev_requirement' => \false), 'symplify/rule-doc-generator-contracts' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/rule-doc-generator-contracts', 'aliases' => array(), 'reference' => '091871a30a40dc3c5a1e97aa60560279ea43b287', 'dev_requirement' => \false), 'symplify/skipper' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/skipper', 'aliases' => array(), 'reference' => '21a509e5c9129036e6949292700ddd0482c4bd2a', 'dev_requirement' => \false), 'symplify/smart-file-system' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/smart-file-system', 'aliases' => array(), 'reference' => '0376a208b8015899da0a9a4eecfc22eec1d374d3', 'dev_requirement' => \false), 'symplify/symplify-kernel' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/symplify-kernel', 'aliases' => array(), 'reference' => 'e18240bd39fa54e21da1d1833d87603c15cbb542', 'dev_requirement' => \false), 'symplify/vendor-patches' => array('pretty_version' => '10.2.3', 'version' => '10.2.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/vendor-patches', 'aliases' => array(), 'reference' => 'b806546744744c035872c0e263eb64b11dac0ca5', 'dev_requirement' => \false), 'tracy/tracy' => array('pretty_version' => 'v2.9.2', 'version' => '2.9.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../tracy/tracy', 'aliases' => array(), 'reference' => '03965a7cb94d284dbf7e3b788b3691715c13d401', 'dev_requirement' => \false), 'webmozart/assert' => array('pretty_version' => '1.10.0', 'version' => '1.10.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25', 'dev_requirement' => \false))); diff --git a/vendor/nikic/php-parser/PATCHES.txt b/vendor/nikic/php-parser/PATCHES.txt new file mode 100644 index 00000000000..ce9002a1e0c --- /dev/null +++ b/vendor/nikic/php-parser/PATCHES.txt @@ -0,0 +1,59 @@ +This file was automatically generated by Composer Patches (https://github.com/cweagans/composer-patches) +Patches applied to this directory: + +0 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-expr-closure-php.patch + + +1 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-finally-php.patch + + +2 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-function-php.patch + + +3 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-do-php.patch + + +4 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-catch-php.patch + + +5 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-trycatch-php.patch + + +6 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-for-php.patch + + +7 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-classmethod-php.patch + + +8 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-else-php.patch + + +9 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-while-php.patch + + +10 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-foreach-php.patch + + +11 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-if-php.patch + + +12 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-case-php.patch + + +13 +Source: https://raw.githubusercontent.com/rectorphp/vendor-patches/main/patches/nikic-php-parser-lib-phpparser-node-stmt-elseif-php.patch + + diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php index aaf09013822..dda0fec8b87 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php @@ -6,7 +6,8 @@ namespace PhpParser\Node\Expr; use PhpParser\Node; use PhpParser\Node\Expr; use PhpParser\Node\FunctionLike; -class Closure extends \PhpParser\Node\Expr implements \PhpParser\Node\FunctionLike +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Closure extends \PhpParser\Node\Expr implements \PhpParser\Node\FunctionLike, \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var bool Whether the closure is static */ public $static; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php index 850f421030a..24795fefe5a 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class Case_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Case_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var null|Node\Expr Condition (null for default) */ public $cond; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php index cb8d977bae4..1050317ef5f 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php @@ -5,7 +5,8 @@ namespace PhpParser\Node\Stmt; use PhpParser\Node; use PhpParser\Node\Expr; -class Catch_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Catch_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Name[] Types of exceptions to catch */ public $types; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php index 1fce55e4b7e..54ed84a998d 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php @@ -5,7 +5,8 @@ namespace PhpParser\Node\Stmt; use PhpParser\Node; use PhpParser\Node\FunctionLike; -class ClassMethod extends \PhpParser\Node\Stmt implements \PhpParser\Node\FunctionLike +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class ClassMethod extends \PhpParser\Node\Stmt implements \PhpParser\Node\FunctionLike, \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var int Flags */ public $flags; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php index d5e29c3bc84..ecfecb4bba7 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class Do_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Do_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Stmt[] Statements */ public $stmts; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php index 0b80395dfde..6dd62954443 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class ElseIf_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class ElseIf_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Expr Condition */ public $cond; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php index 09f6fc55255..b5c9fb1c5a0 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class Else_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Else_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Stmt[] Statements */ public $stmts; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php index d7c5c2bb0d3..11a42a2d708 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class Finally_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Finally_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Stmt[] Statements */ public $stmts; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php index 00f8bebc162..9b7f40ea0de 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class For_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class For_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Expr[] Init expressions */ public $init; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php index 13baf03a075..fc7c7e91ca9 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class Foreach_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Foreach_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Expr Expression to iterate */ public $expr; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php index 22489b24ca4..328a909eebe 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php @@ -5,7 +5,8 @@ namespace PhpParser\Node\Stmt; use PhpParser\Node; use PhpParser\Node\FunctionLike; -class Function_ extends \PhpParser\Node\Stmt implements \PhpParser\Node\FunctionLike +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class Function_ extends \PhpParser\Node\Stmt implements \PhpParser\Node\FunctionLike, \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var bool Whether function returns by reference */ public $byRef; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php index 7455fb1816e..8d48ec27640 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class If_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class If_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Expr Condition expression */ public $cond; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php index bd5c81242a8..8cf18d41ac2 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class TryCatch extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class TryCatch extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Stmt[] Statements */ public $stmts; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php index f75f385571f..2eb7fed6dc1 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php @@ -4,7 +4,8 @@ declare (strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; -class While_ extends \PhpParser\Node\Stmt +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; +class While_ extends \PhpParser\Node\Stmt implements \Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface { /** @var Node\Expr Condition */ public $cond; diff --git a/vendor/rector/extension-installer/src/GeneratedConfig.php b/vendor/rector/extension-installer/src/GeneratedConfig.php index acad19bbdab..64359318446 100644 --- a/vendor/rector/extension-installer/src/GeneratedConfig.php +++ b/vendor/rector/extension-installer/src/GeneratedConfig.php @@ -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 b59802f'), '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 77c17ba'), '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 784271e'), '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 6d0fcdc'), '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 eb83b5c'), '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 e544f2a'), '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 0dd840b'), '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 df561ed'), '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 5abcdf5')); + 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 b59802f'), '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 77c17ba'), '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 784271e'), '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 6d0fcdc'), '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 eb83b5c'), '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 e544f2a'), '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 0dd840b'), '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 a30ba67'), '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 5abcdf5')); private function __construct() { } diff --git a/vendor/rector/rector-symfony/src/Helper/TemplateGuesser.php b/vendor/rector/rector-symfony/src/Helper/TemplateGuesser.php index 5e0e1d3cc5a..65c4d34a351 100644 --- a/vendor/rector/rector-symfony/src/Helper/TemplateGuesser.php +++ b/vendor/rector/rector-symfony/src/Helper/TemplateGuesser.php @@ -55,7 +55,7 @@ final class TemplateGuesser $this->bundleClassResolver = $bundleClassResolver; $this->nodeNameResolver = $nodeNameResolver; } - public function resolveFromClassMethodNode(\PhpParser\Node\Stmt\ClassMethod $classMethod) : string + public function resolveFromClassMethod(\PhpParser\Node\Stmt\ClassMethod $classMethod) : string { $scope = $classMethod->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::SCOPE); if (!$scope instanceof \PHPStan\Analyser\Scope) { diff --git a/vendor/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php b/vendor/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php index 262ccb443fc..2baac197451 100644 --- a/vendor/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php +++ b/vendor/rector/rector-symfony/src/NodeFactory/ThisRenderFactory.php @@ -55,15 +55,15 @@ final class ThisRenderFactory $this->nodeTypeResolver = $nodeTypeResolver; $this->templateGuesser = $templateGuesser; } - public function create(\PhpParser\Node\Stmt\ClassMethod $classMethod, ?\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode) : \PhpParser\Node\Expr\MethodCall + public function create(?\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode, \PhpParser\Node\Stmt\ClassMethod $classMethod) : \PhpParser\Node\Expr\MethodCall { - $renderArguments = $this->resolveRenderArguments($classMethod, $return, $templateDoctrineAnnotationTagValueNode); + $renderArguments = $this->resolveRenderArguments($return, $templateDoctrineAnnotationTagValueNode, $classMethod); return $this->nodeFactory->createMethodCall('this', 'render', $renderArguments); } /** * @return Arg[] */ - private function resolveRenderArguments(\PhpParser\Node\Stmt\ClassMethod $classMethod, ?\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode) : array + private function resolveRenderArguments(?\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode, \PhpParser\Node\Stmt\ClassMethod $classMethod) : array { $templateNameString = $this->resolveTemplateName($classMethod, $templateDoctrineAnnotationTagValueNode); $arguments = [$templateNameString]; @@ -79,7 +79,7 @@ final class ThisRenderFactory if (\is_string($template)) { return $template; } - return $this->templateGuesser->resolveFromClassMethodNode($classMethod); + return $this->templateGuesser->resolveFromClassMethod($classMethod); } private function resolveParametersExpr(?\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode) : ?\PhpParser\Node\Expr { diff --git a/vendor/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php b/vendor/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php new file mode 100644 index 00000000000..bc4a865e4bf --- /dev/null +++ b/vendor/rector/rector-symfony/src/NodeFinder/EmptyReturnNodeFinder.php @@ -0,0 +1,36 @@ +betterNodeFinder = $betterNodeFinder; + } + public function hasNoOrEmptyReturns(\PhpParser\Node\Stmt\ClassMethod $classMethod) : bool + { + /** @var Return_[] $returns */ + $returns = $this->betterNodeFinder->findInstanceOf($classMethod, \PhpParser\Node\Stmt\Return_::class); + if ($returns === []) { + return \true; + } + foreach ($returns as $return) { + if ($return->expr instanceof \PhpParser\Node\Expr) { + continue; + } + return \true; + } + return \false; + } +} diff --git a/vendor/rector/rector-symfony/src/Rector/ClassMethod/TemplateAnnotationToThisRenderRector.php b/vendor/rector/rector-symfony/src/Rector/ClassMethod/TemplateAnnotationToThisRenderRector.php index 7cbd8ce1e6b..6329867bb94 100644 --- a/vendor/rector/rector-symfony/src/Rector/ClassMethod/TemplateAnnotationToThisRenderRector.php +++ b/vendor/rector/rector-symfony/src/Rector/ClassMethod/TemplateAnnotationToThisRenderRector.php @@ -12,8 +12,10 @@ use PhpParser\Node\Expr\Instanceof_; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Name\FullyQualified; +use PhpParser\Node\Stmt; use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\ClassMethod; +use PhpParser\Node\Stmt\Expression; use PhpParser\Node\Stmt\Function_; use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\Return_; @@ -23,13 +25,17 @@ use PHPStan\Type\Constant\ConstantArrayType; use PHPStan\Type\MixedType; use PHPStan\Type\ObjectType; use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode; +use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover; +use Rector\CodeQuality\NodeTypeGroup; use Rector\Core\Rector\AbstractRector; use Rector\Symfony\NodeFactory\ThisRenderFactory; +use Rector\Symfony\NodeFinder\EmptyReturnNodeFinder; use Rector\Symfony\TypeAnalyzer\ArrayUnionResponseTypeAnalyzer; use Rector\Symfony\TypeDeclaration\ReturnTypeDeclarationUpdater; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; +use RectorPrefix20220508\Webmozart\Assert\Assert; /** * @see https://github.com/symfony/symfony-docs/pull/12387#discussion_r329551967 * @see https://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/view.html @@ -43,6 +49,10 @@ final class TemplateAnnotationToThisRenderRector extends \Rector\Core\Rector\Abs * @var class-string */ private const RESPONSE_CLASS = 'Symfony\\Component\\HttpFoundation\\Response'; + /** + * @var string + */ + private const TEMPLATE_ANNOTATION_CLASS = 'Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Template'; /** * @readonly * @var \Rector\Symfony\TypeAnalyzer\ArrayUnionResponseTypeAnalyzer @@ -63,12 +73,18 @@ final class TemplateAnnotationToThisRenderRector extends \Rector\Core\Rector\Abs * @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover */ private $phpDocTagRemover; - public function __construct(\Rector\Symfony\TypeAnalyzer\ArrayUnionResponseTypeAnalyzer $arrayUnionResponseTypeAnalyzer, \Rector\Symfony\TypeDeclaration\ReturnTypeDeclarationUpdater $returnTypeDeclarationUpdater, \Rector\Symfony\NodeFactory\ThisRenderFactory $thisRenderFactory, \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover $phpDocTagRemover) + /** + * @readonly + * @var \Rector\Symfony\NodeFinder\EmptyReturnNodeFinder + */ + private $emptyReturnNodeFinder; + public function __construct(\Rector\Symfony\TypeAnalyzer\ArrayUnionResponseTypeAnalyzer $arrayUnionResponseTypeAnalyzer, \Rector\Symfony\TypeDeclaration\ReturnTypeDeclarationUpdater $returnTypeDeclarationUpdater, \Rector\Symfony\NodeFactory\ThisRenderFactory $thisRenderFactory, \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTagRemover $phpDocTagRemover, \Rector\Symfony\NodeFinder\EmptyReturnNodeFinder $emptyReturnNodeFinder) { $this->arrayUnionResponseTypeAnalyzer = $arrayUnionResponseTypeAnalyzer; $this->returnTypeDeclarationUpdater = $returnTypeDeclarationUpdater; $this->thisRenderFactory = $thisRenderFactory; $this->phpDocTagRemover = $phpDocTagRemover; + $this->emptyReturnNodeFinder = $emptyReturnNodeFinder; } public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition { @@ -110,7 +126,7 @@ CODE_SAMPLE if ($class->extends !== null) { return null; } - if (!$this->hasTemplateAnnotations($class)) { + if (!$this->hasClassMethodWithTemplateAnnotation($class)) { return null; } $class->extends = new \PhpParser\Node\Name\FullyQualified('Symfony\\Bundle\\FrameworkBundle\\Controller\\AbstractController'); @@ -121,19 +137,18 @@ CODE_SAMPLE if (!$classMethod->isPublic()) { return null; } - $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod); - $doctrineAnnotationTagValueNode = $phpDocInfo->getByAnnotationClass('Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Template'); + $doctrineAnnotationTagValueNode = $this->getDoctrineAnnotationTagValueNode($classMethod, self::TEMPLATE_ANNOTATION_CLASS); if (!$doctrineAnnotationTagValueNode instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { return null; } $this->refactorClassMethod($classMethod, $doctrineAnnotationTagValueNode); return $classMethod; } - private function hasTemplateAnnotations(\PhpParser\Node\Stmt\Class_ $class) : bool + private function hasClassMethodWithTemplateAnnotation(\PhpParser\Node\Stmt\Class_ $class) : bool { foreach ($class->getMethods() as $classMethod) { - $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod); - if ($phpDocInfo->hasByAnnotationClass('Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Template')) { + $templateDoctrineAnnotationTagValueNode = $this->getDoctrineAnnotationTagValueNode($classMethod, self::TEMPLATE_ANNOTATION_CLASS); + if ($templateDoctrineAnnotationTagValueNode instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { return \true; } } @@ -141,40 +156,29 @@ CODE_SAMPLE } private function refactorClassMethod(\PhpParser\Node\Stmt\ClassMethod $classMethod, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode) : void { - /** @var Return_[] $returns */ - $returns = $this->findReturnsInCurrentScope((array) $classMethod->stmts); $hasThisRenderOrReturnsResponse = $this->hasLastReturnResponse($classMethod); - foreach ($returns as $return) { - $this->refactorReturn($return, $classMethod, $templateDoctrineAnnotationTagValueNode, $hasThisRenderOrReturnsResponse); - } - if ($returns === []) { - $thisRenderMethodCall = $this->thisRenderFactory->create($classMethod, null, $templateDoctrineAnnotationTagValueNode); - $this->refactorNoReturn($classMethod, $thisRenderMethodCall); - } - } - /** - * This skips anonymous functions and functions, as their returns doesn't influence current code - * - * @param Node[] $stmts - * @return Return_[] - */ - private function findReturnsInCurrentScope(array $stmts) : array - { - $returns = []; - $this->traverseNodesWithCallable($stmts, function (\PhpParser\Node $node) use(&$returns) : ?int { - if ($node instanceof \PhpParser\Node\Expr\Closure) { + $this->traverseNodesWithCallable($classMethod, function (\PhpParser\Node $node) use($templateDoctrineAnnotationTagValueNode, $hasThisRenderOrReturnsResponse, $classMethod) { + // keep as similar type + if ($node instanceof \PhpParser\Node\Expr\Closure || $node instanceof \PhpParser\Node\Stmt\Function_) { return \PhpParser\NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN; } - if ($node instanceof \PhpParser\Node\Stmt\Function_) { - return \PhpParser\NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN; - } - if (!$node instanceof \PhpParser\Node\Stmt\Return_) { + if (!$node instanceof \PhpParser\Node\Stmt) { + return null; + } + foreach (\Rector\CodeQuality\NodeTypeGroup::STMTS_AWARE as $stmtsAwareType) { + if (!\is_a($node, $stmtsAwareType, \true)) { + continue; + } + $this->refactorStmtsAwareNode($node, $templateDoctrineAnnotationTagValueNode, $hasThisRenderOrReturnsResponse, $classMethod); return null; } - $returns[] = $node; return null; }); - return $returns; + if (!$this->emptyReturnNodeFinder->hasNoOrEmptyReturns($classMethod)) { + return; + } + $thisRenderMethodCall = $this->thisRenderFactory->create(null, $templateDoctrineAnnotationTagValueNode, $classMethod); + $this->refactorNoReturn($classMethod, $thisRenderMethodCall, $templateDoctrineAnnotationTagValueNode); } private function hasLastReturnResponse(\PhpParser\Node\Stmt\ClassMethod $classMethod) : bool { @@ -189,23 +193,31 @@ CODE_SAMPLE $returnType = $this->getType($lastReturn->expr); return $responseObjectType->isSuperTypeOf($returnType)->yes(); } - private function refactorReturn(\PhpParser\Node\Stmt\Return_ $return, \PhpParser\Node\Stmt\ClassMethod $classMethod, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode, bool $hasThisRenderOrReturnsResponse) : void + private function refactorReturn(\PhpParser\Node\Stmt\Return_ $return, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode, bool $hasThisRenderOrReturnsResponse, \PhpParser\Node\Stmt\ClassMethod $classMethod) : void { // nothing we can do if ($return->expr === null) { return; } // create "$this->render('template.file.twig.html', ['key' => 'value']);" method call - $thisRenderMethodCall = $this->thisRenderFactory->create($classMethod, $return, $templateDoctrineAnnotationTagValueNode); - $this->refactorReturnWithValue($return, $hasThisRenderOrReturnsResponse, $thisRenderMethodCall, $classMethod); + $thisRenderMethodCall = $this->thisRenderFactory->create($return, $templateDoctrineAnnotationTagValueNode, $classMethod); + $this->refactorReturnWithValue($return, $hasThisRenderOrReturnsResponse, $thisRenderMethodCall, $classMethod, $templateDoctrineAnnotationTagValueNode); } - private function refactorNoReturn(\PhpParser\Node\Stmt\ClassMethod $classMethod, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall) : void + private function getDoctrineAnnotationTagValueNode(\PhpParser\Node\Stmt\ClassMethod $classMethod, string $class) : ?\Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode { - $this->processClassMethodWithoutReturn($classMethod, $thisRenderMethodCall); - $this->returnTypeDeclarationUpdater->updateClassMethod($classMethod, self::RESPONSE_CLASS); - $this->removeDoctrineAnnotationTagValueNode($classMethod); + $phpDocInfo = $this->phpDocInfoFactory->createFromNode($classMethod); + if (!$phpDocInfo instanceof \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo) { + return null; + } + return $phpDocInfo->getByAnnotationClass($class); } - private function refactorReturnWithValue(\PhpParser\Node\Stmt\Return_ $return, bool $hasThisRenderOrReturnsResponse, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall, \PhpParser\Node\Stmt\ClassMethod $classMethod) : void + private function refactorNoReturn(\PhpParser\Node\Stmt\ClassMethod $classMethod, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $doctrineAnnotationTagValueNode) : void + { + $classMethod->stmts[] = new \PhpParser\Node\Stmt\Return_($thisRenderMethodCall); + $this->returnTypeDeclarationUpdater->updateClassMethod($classMethod, self::RESPONSE_CLASS); + $this->removeDoctrineAnnotationTagValueNode($classMethod, $doctrineAnnotationTagValueNode); + } + private function refactorReturnWithValue(\PhpParser\Node\Stmt\Return_ $return, bool $hasThisRenderOrReturnsResponse, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall, \PhpParser\Node\Stmt\ClassMethod $classMethod, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $doctrineAnnotationTagValueNode) : void { /** @var Expr $lastReturnExpr */ $lastReturnExpr = $return->expr; @@ -222,43 +234,43 @@ CODE_SAMPLE } $isArrayOrResponseType = $this->arrayUnionResponseTypeAnalyzer->isArrayUnionResponseType($returnStaticType, self::RESPONSE_CLASS); if ($isArrayOrResponseType) { - $this->processIsArrayOrResponseType($return, $lastReturnExpr, $thisRenderMethodCall); + $this->processIsArrayOrResponseType($classMethod, $return, $lastReturnExpr, $thisRenderMethodCall); } // already response - $this->removeAnnotationClass($classMethod); + $this->removeDoctrineAnnotationTagValueNode($classMethod, $doctrineAnnotationTagValueNode); $this->returnTypeDeclarationUpdater->updateClassMethod($classMethod, self::RESPONSE_CLASS); } - private function processClassMethodWithoutReturn(\PhpParser\Node\Stmt\ClassMethod $classMethod, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall) : void - { - $classMethod->stmts[] = new \PhpParser\Node\Stmt\Return_($thisRenderMethodCall); - } - private function processIsArrayOrResponseType(\PhpParser\Node\Stmt\Return_ $return, \PhpParser\Node\Expr $returnExpr, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall) : void + private function processIsArrayOrResponseType(\PhpParser\Node\Stmt\ClassMethod $classMethod, \PhpParser\Node\Stmt\Return_ $return, \PhpParser\Node\Expr $returnExpr, \PhpParser\Node\Expr\MethodCall $thisRenderMethodCall) : void { $this->removeNode($return); // create instance of Response → return response, or return $this->render $responseVariable = new \PhpParser\Node\Expr\Variable('responseOrData'); $assign = new \PhpParser\Node\Expr\Assign($responseVariable, $returnExpr); + $assignExpression = new \PhpParser\Node\Stmt\Expression($assign); $if = new \PhpParser\Node\Stmt\If_(new \PhpParser\Node\Expr\Instanceof_($responseVariable, new \PhpParser\Node\Name\FullyQualified(self::RESPONSE_CLASS))); $if->stmts[] = new \PhpParser\Node\Stmt\Return_($responseVariable); $thisRenderMethodCall->args[1] = new \PhpParser\Node\Arg($responseVariable); $returnThisRender = new \PhpParser\Node\Stmt\Return_($thisRenderMethodCall); - $this->nodesToAddCollector->addNodesAfterNode([$assign, $if, $returnThisRender], $return); + $classMethodStmts = (array) $classMethod->stmts; + $classMethod->stmts = \array_merge($classMethodStmts, [$assignExpression, $if, $returnThisRender]); } - private function removeDoctrineAnnotationTagValueNode(\PhpParser\Node\Stmt\ClassMethod $classMethod) : void + private function removeDoctrineAnnotationTagValueNode(\PhpParser\Node\Stmt\ClassMethod $classMethod, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $doctrineAnnotationTagValueNode) : void { $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod); - $doctrineAnnotationTagValueNode = $phpDocInfo->getByAnnotationClass('Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Template'); - if (!$doctrineAnnotationTagValueNode instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { - return; - } $this->phpDocTagRemover->removeTagValueFromNode($phpDocInfo, $doctrineAnnotationTagValueNode); } - private function removeAnnotationClass(\PhpParser\Node\Stmt\ClassMethod $classMethod) : void + private function refactorStmtsAwareNode(\PhpParser\Node\Stmt $stmtsAwareStmt, \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode $templateDoctrineAnnotationTagValueNode, bool $hasThisRenderOrReturnsResponse, \PhpParser\Node\Stmt\ClassMethod $classMethod) : void { - $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod); - $doctrineAnnotationTagValueNode = $phpDocInfo->getByAnnotationClass('Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Template'); - if ($doctrineAnnotationTagValueNode instanceof \Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode) { - $this->phpDocTagRemover->removeTagValueFromNode($phpDocInfo, $doctrineAnnotationTagValueNode); + \RectorPrefix20220508\Webmozart\Assert\Assert::propertyExists($stmtsAwareStmt, 'stmts'); + foreach ((array) $stmtsAwareStmt->stmts as $stmt) { + if (!$stmt instanceof \PhpParser\Node\Stmt\Return_) { + continue; + } + // just created node, skip it + if ($stmt->getAttributes() === []) { + return; + } + $this->refactorReturn($stmt, $templateDoctrineAnnotationTagValueNode, $hasThisRenderOrReturnsResponse, $classMethod); } } } diff --git a/vendor/scoper-autoload.php b/vendor/scoper-autoload.php index a4b20cf6906..dc5793da5a6 100644 --- a/vendor/scoper-autoload.php +++ b/vendor/scoper-autoload.php @@ -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('RectorPrefix20220508\AutoloadIncluder'); } -if (!class_exists('ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86', false) && !interface_exists('ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86', false) && !trait_exists('ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86', false)) { - spl_autoload_call('RectorPrefix20220508\ComposerAutoloaderInit3b740c4d66e00d2a36af6430072d5a86'); +if (!class_exists('ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520', false) && !interface_exists('ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520', false) && !trait_exists('ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520', false)) { + spl_autoload_call('RectorPrefix20220508\ComposerAutoloaderInit3e72a055e0bf2e893f97d40cfd760520'); } 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('RectorPrefix20220508\Helmich\TypoScriptParser\Parser\AST\Statement'); @@ -59,9 +59,9 @@ if (!function_exists('print_node')) { return \RectorPrefix20220508\print_node(...func_get_args()); } } -if (!function_exists('composerRequire3b740c4d66e00d2a36af6430072d5a86')) { - function composerRequire3b740c4d66e00d2a36af6430072d5a86() { - return \RectorPrefix20220508\composerRequire3b740c4d66e00d2a36af6430072d5a86(...func_get_args()); +if (!function_exists('composerRequire3e72a055e0bf2e893f97d40cfd760520')) { + function composerRequire3e72a055e0bf2e893f97d40cfd760520() { + return \RectorPrefix20220508\composerRequire3e72a055e0bf2e893f97d40cfd760520(...func_get_args()); } } if (!function_exists('scanPath')) {