diff --git a/packages/PHPStanStaticTypeMapper/TypeMapper/ClosureTypeMapper.php b/packages/PHPStanStaticTypeMapper/TypeMapper/ClosureTypeMapper.php index ee7ecdf20d4..63859bd72fb 100644 --- a/packages/PHPStanStaticTypeMapper/TypeMapper/ClosureTypeMapper.php +++ b/packages/PHPStanStaticTypeMapper/TypeMapper/ClosureTypeMapper.php @@ -5,8 +5,10 @@ namespace Rector\PHPStanStaticTypeMapper\TypeMapper; use PhpParser\Node; use PhpParser\Node\Name\FullyQualified; +use PHPStan\PhpDocParser\Ast\Type\CallableTypeParameterNode; use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode; use PHPStan\PhpDocParser\Ast\Type\TypeNode; +use PHPStan\Reflection\ParameterReflection; use PHPStan\Type\ClosureType; use PHPStan\Type\Type; use Rector\BetterPhpDocParser\ValueObject\Type\SpacingAwareCallableTypeNode; @@ -14,6 +16,7 @@ use Rector\PHPStanStaticTypeMapper\Contract\TypeMapperInterface; use Rector\PHPStanStaticTypeMapper\Enum\TypeKind; use Rector\PHPStanStaticTypeMapper\PHPStanStaticTypeMapper; use RectorPrefix202302\Symfony\Contracts\Service\Attribute\Required; +use RectorPrefix202302\Webmozart\Assert\Assert; /** * @implements TypeMapperInterface */ @@ -37,11 +40,10 @@ final class ClosureTypeMapper implements TypeMapperInterface { $identifierTypeNode = new IdentifierTypeNode($type->getClassName()); $returnDocTypeNode = $this->phpStanStaticTypeMapper->mapToPHPStanPhpDocTypeNode($type->getReturnType(), $typeKind); - $parameterDocTypeNodes = []; - foreach ($type->getParameters() as $parameterReflection) { - $parameterDocTypeNodes[] = $this->phpStanStaticTypeMapper->mapToPHPStanPhpDocTypeNode($parameterReflection->getType(), $typeKind); - } - return new SpacingAwareCallableTypeNode($identifierTypeNode, $parameterDocTypeNodes, $returnDocTypeNode); + $callableTypeParameterNodes = $this->createCallableTypeParameterNodes($type, $typeKind); + // callable parameters must be of specific type + Assert::allIsInstanceOf($callableTypeParameterNodes, CallableTypeParameterNode::class); + return new SpacingAwareCallableTypeNode($identifierTypeNode, $callableTypeParameterNodes, $returnDocTypeNode); } /** * @param TypeKind::* $typeKind @@ -61,4 +63,18 @@ final class ClosureTypeMapper implements TypeMapperInterface { $this->phpStanStaticTypeMapper = $phpStanStaticTypeMapper; } + /** + * @param TypeKind::* $typeKind + * @return CallableTypeParameterNode[] + */ + private function createCallableTypeParameterNodes(ClosureType $closureType, string $typeKind) : array + { + $callableTypeParameterNodes = []; + foreach ($closureType->getParameters() as $parameterReflection) { + /** @var ParameterReflection $parameterReflection */ + $typeNode = $this->phpStanStaticTypeMapper->mapToPHPStanPhpDocTypeNode($parameterReflection->getType(), $typeKind); + $callableTypeParameterNodes[] = new CallableTypeParameterNode($typeNode, $parameterReflection->passedByReference()->yes(), $parameterReflection->isVariadic(), $parameterReflection->getName() !== '' && $parameterReflection->getName() !== '0' ? '$' . $parameterReflection->getName() : '', $parameterReflection->isOptional()); + } + return $callableTypeParameterNodes; + } } diff --git a/rules/TypeDeclaration/Rector/ClassMethod/ArrayShapeFromConstantArrayReturnRector.php b/rules/TypeDeclaration/Rector/ClassMethod/ArrayShapeFromConstantArrayReturnRector.php index e52efa241a0..ff587242b69 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/ArrayShapeFromConstantArrayReturnRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/ArrayShapeFromConstantArrayReturnRector.php @@ -18,7 +18,6 @@ use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; use Rector\BetterPhpDocParser\ValueObject\Type\SpacingAwareArrayTypeNode; use Rector\Core\Rector\AbstractScopeAwareRector; use Rector\Core\Util\StringUtils; -use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\PhpDocParser\TypeAnalyzer\ClassMethodReturnTypeResolver; use Rector\PHPStanStaticTypeMapper\Enum\TypeKind; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; @@ -85,7 +84,7 @@ CODE_SAMPLE */ public function refactorWithScope(Node $node, Scope $scope) : ?Node { - if ($this->isInTestCase($node)) { + if ($this->isInTestCase($scope)) { return null; } /** @var Return_[] $returns */ @@ -153,12 +152,8 @@ CODE_SAMPLE * Skip test case, as return methods there are usually with test data only. * Those arrays are hand made and return types are getting complex and messy, so this rule should skip it. */ - private function isInTestCase(ClassMethod $classMethod) : bool + private function isInTestCase(Scope $scope) : bool { - $scope = $classMethod->getAttribute(AttributeKey::SCOPE); - if (!$scope instanceof Scope) { - return \false; - } $classReflection = $scope->getClassReflection(); if (!$classReflection instanceof ClassReflection) { return \false; diff --git a/rules/TypeDeclaration/Rector/ClassMethod/ReturnAnnotationIncorrectNullableRector.php b/rules/TypeDeclaration/Rector/ClassMethod/ReturnAnnotationIncorrectNullableRector.php index 646be2359c9..19e45f2b0af 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/ReturnAnnotationIncorrectNullableRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/ReturnAnnotationIncorrectNullableRector.php @@ -9,9 +9,7 @@ use PhpParser\Node\Stmt\Function_; use PHPStan\PhpDocParser\Ast\PhpDoc\ReturnTagValueNode; use PHPStan\Type\Type; use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; -use Rector\Core\Php\PhpVersionProvider; use Rector\Core\Rector\AbstractRector; -use Rector\Core\ValueObject\PhpVersionFeature; use Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard; use Rector\TypeDeclaration\Helper\PhpDocNullableTypeHelper; use Rector\VendorLocker\NodeVendorLocker\ClassMethodReturnTypeOverrideGuard; @@ -42,18 +40,12 @@ final class ReturnAnnotationIncorrectNullableRector extends AbstractRector * @var \Rector\TypeDeclaration\Guard\PhpDocNestedAnnotationGuard */ private $phpDocNestedAnnotationGuard; - /** - * @readonly - * @var \Rector\Core\Php\PhpVersionProvider - */ - private $phpVersionProvider; - public function __construct(PhpDocTypeChanger $phpDocTypeChanger, PhpDocNullableTypeHelper $phpDocNullableTypeHelper, ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard, PhpVersionProvider $phpVersionProvider) + public function __construct(PhpDocTypeChanger $phpDocTypeChanger, PhpDocNullableTypeHelper $phpDocNullableTypeHelper, ClassMethodReturnTypeOverrideGuard $classMethodReturnTypeOverrideGuard, PhpDocNestedAnnotationGuard $phpDocNestedAnnotationGuard) { $this->phpDocTypeChanger = $phpDocTypeChanger; $this->phpDocNullableTypeHelper = $phpDocNullableTypeHelper; $this->classMethodReturnTypeOverrideGuard = $classMethodReturnTypeOverrideGuard; $this->phpDocNestedAnnotationGuard = $phpDocNestedAnnotationGuard; - $this->phpVersionProvider = $phpVersionProvider; } public function getRuleDefinition() : RuleDefinition { @@ -102,9 +94,6 @@ CODE_SAMPLE if ($returnType === null) { return null; } - if (!$this->phpVersionProvider->isAtLeastPhpVersion(PhpVersionFeature::TYPED_PROPERTIES)) { - return null; - } if (!$this->phpDocNestedAnnotationGuard->isPhpDocCommentCorrectlyParsed($node)) { return null; } diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 2b1c4d69b91..77e1c9c5443 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -19,12 +19,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = '0.15.13'; + public const PACKAGE_VERSION = 'e68c8d23cbbdb9dbfef66133af6bb4f1857015ad'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-02-07 00:37:45'; + public const RELEASE_DATE = '2023-02-07 12:21:54'; /** * @var int */ diff --git a/vendor/autoload.php b/vendor/autoload.php index 8f590bae09b..97478f4092d 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit55ec482caaceab1f447e198177c13e96::getLoader(); +return ComposerAutoloaderInit5b0ca69862d434be44bbaf85cee23928::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index f44e6bc88a4..21b16ac492e 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit55ec482caaceab1f447e198177c13e96 +class ComposerAutoloaderInit5b0ca69862d434be44bbaf85cee23928 { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInit55ec482caaceab1f447e198177c13e96 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit55ec482caaceab1f447e198177c13e96', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit5b0ca69862d434be44bbaf85cee23928', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit55ec482caaceab1f447e198177c13e96', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit5b0ca69862d434be44bbaf85cee23928', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit55ec482caaceab1f447e198177c13e96::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit5b0ca69862d434be44bbaf85cee23928::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit55ec482caaceab1f447e198177c13e96::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit5b0ca69862d434be44bbaf85cee23928::$files; $requireFile = \Closure::bind(static function ($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 69d13a374a0..4bf6586ddfb 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit55ec482caaceab1f447e198177c13e96 +class ComposerStaticInit5b0ca69862d434be44bbaf85cee23928 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -3089,9 +3089,9 @@ class ComposerStaticInit55ec482caaceab1f447e198177c13e96 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit55ec482caaceab1f447e198177c13e96::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit55ec482caaceab1f447e198177c13e96::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit55ec482caaceab1f447e198177c13e96::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit5b0ca69862d434be44bbaf85cee23928::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit5b0ca69862d434be44bbaf85cee23928::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit5b0ca69862d434be44bbaf85cee23928::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index e14e7012a2a..f28a82c657d 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -798,17 +798,17 @@ }, { "name": "phpstan\/phpstan", - "version": "1.9.14", - "version_normalized": "1.9.14.0", + "version": "1.9.16", + "version_normalized": "1.9.16.0", "source": { "type": "git", "url": "https:\/\/github.com\/phpstan\/phpstan.git", - "reference": "e5fcc96289cf737304286a9b505fbed091f02e58" + "reference": "922e2689bb180575d0f57de0443c431a5a698e8f" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/e5fcc96289cf737304286a9b505fbed091f02e58", - "reference": "e5fcc96289cf737304286a9b505fbed091f02e58", + "url": "https:\/\/api.github.com\/repos\/phpstan\/phpstan\/zipball\/922e2689bb180575d0f57de0443c431a5a698e8f", + "reference": "922e2689bb180575d0f57de0443c431a5a698e8f", "shasum": "" }, "require": { @@ -817,7 +817,7 @@ "conflict": { "phpstan\/phpstan-shim": "*" }, - "time": "2023-01-19T10:47:09+00:00", + "time": "2023-02-07T10:42:21+00:00", "bin": [ "phpstan", "phpstan.phar" @@ -840,7 +840,7 @@ ], "support": { "issues": "https:\/\/github.com\/phpstan\/phpstan\/issues", - "source": "https:\/\/github.com\/phpstan\/phpstan\/tree\/1.9.14" + "source": "https:\/\/github.com\/phpstan\/phpstan\/tree\/1.9.16" }, "funding": [ { @@ -3111,41 +3111,35 @@ }, { "name": "symplify\/rule-doc-generator-contracts", - "version": "11.1.25", - "version_normalized": "11.1.25.0", + "version": "11.1.26", + "version_normalized": "11.1.26.0", "source": { "type": "git", "url": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts.git", - "reference": "05b78c1e832bd2427af080368f2b0d886af360f8" + "reference": "3e66b3fec678b74a076395ec629d535fb95293b5" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/05b78c1e832bd2427af080368f2b0d886af360f8", - "reference": "05b78c1e832bd2427af080368f2b0d886af360f8", + "url": "https:\/\/api.github.com\/repos\/symplify\/rule-doc-generator-contracts\/zipball\/3e66b3fec678b74a076395ec629d535fb95293b5", + "reference": "3e66b3fec678b74a076395ec629d535fb95293b5", "shasum": "" }, "require": { "nette\/utils": "^3.2", "php": ">=8.1" }, - "conflict": { - "symplify\/autowire-array-parameter": "<11.1.25", - "symplify\/coding-standard": "<11.1.24", - "symplify\/config-transformer": "<11.1.24", - "symplify\/easy-ci": "<11.1.24", - "symplify\/easy-parallel": "<11.1.25", - "symplify\/easy-testing": "<11.1.25", - "symplify\/monorepo-builder": "<11.1.24", - "symplify\/package-builder": "<11.1.25", - "symplify\/php-config-printer": "<11.1.25", - "symplify\/phpstan-extensions": "<11.1.25", - "symplify\/phpstan-rules": "<11.1.24", - "symplify\/rule-doc-generator": "<11.1.25", - "symplify\/smart-file-system": "<11.1.25", - "symplify\/symfony-static-dumper": "<11.1.25", - "symplify\/symplify-kernel": "<11.1.25" + "require-dev": { + "php-parallel-lint\/php-parallel-lint": "^1.3", + "phpstan\/extension-installer": "^1.2", + "rector\/rector": "^0.15.10", + "symplify\/easy-ci": "^11.1", + "symplify\/easy-coding-standard": "^11.1", + "symplify\/easy-testing": "^11.1", + "symplify\/phpstan-extensions": "^11.1", + "symplify\/phpstan-rules": "11.2.3.72", + "tomasvotruba\/unused-public": "^0.0.34" }, - "time": "2023-01-28T10:13:31+00:00", + "time": "2023-02-07T07:16:13+00:00", "type": "library", "extra": { "branch-alias": { @@ -3164,7 +3158,7 @@ ], "description": "Contracts for production code of RuleDocGenerator", "support": { - "source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.25" + "source": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts\/tree\/11.1.26" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 35b2a96831b..f168385ed3e 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -2,4 +2,4 @@ namespace RectorPrefix202302; -return array('root' => array('name' => 'rector/rector-src', 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.15.x-dev'), 'dev' => \false), 'versions' => array('clue/ndjson-react' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '392dc165fce93b5bb5c637b67e59619223c931b0', 'type' => 'library', 'install_path' => __DIR__ . '/../clue/ndjson-react', 'aliases' => array(), 'dev_requirement' => \false), 'composer/pcre' => array('pretty_version' => '3.1.0', 'version' => '3.1.0.0', 'reference' => '4bff79ddd77851fe3cdd11616ed3f92841ba5bd2', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'dev_requirement' => \false), 'doctrine/inflector' => array('pretty_version' => '2.0.6', 'version' => '2.0.6.0', 'reference' => 'd9d313a36c872fd6ee06d9a6cbcf713eaa40f024', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'reference' => '531bfb9d15f8aa57454f5f0285b18bec903b8fb7', 'type' => 'library', 'install_path' => __DIR__ . '/../evenement/evenement', 'aliases' => array(), 'dev_requirement' => \false), 'fidry/cpu-core-counter' => array('pretty_version' => '0.5.1', 'version' => '0.5.1.0', 'reference' => 'b58e5a3933e541dc286cc91fc4f3898bbc6f1623', 'type' => 'library', 'install_path' => __DIR__ . '/../fidry/cpu-core-counter', 'aliases' => array(), 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.9', 'version' => '3.2.9.0', 'reference' => 'c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.15.3', 'version' => '4.15.3.0', 'reference' => '570e980a201d8ed0236b0a62ddf2c9cbb2034039', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'dev_requirement' => \false), 'ondram/ci-detector' => array('pretty_version' => '4.1.0', 'version' => '4.1.0.0', 'reference' => '8a4b664e916df82ff26a44709942dfd593fa6f30', 'type' => 'library', 'install_path' => __DIR__ . '/../ondram/ci-detector', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.16.0', 'version' => '1.16.0.0', 'reference' => '57090cfccbfaa639e703c007486d605a6e80f56d', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan' => array('pretty_version' => '1.9.14', 'version' => '1.9.14.0', 'reference' => 'e5fcc96289cf737304286a9b505fbed091f02e58', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan-phpunit' => array('pretty_version' => '1.3.3', 'version' => '1.3.3.0', 'reference' => '54a24bd23e9e80ee918cdc24f909d376c2e273f7', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../phpstan/phpstan-phpunit', 'aliases' => array(), 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), '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', 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), '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.2.0', 'version' => '1.2.0.0', 'reference' => 'd47c472b64aa5608225f47965a484b75c7817d5b', 'type' => 'library', 'install_path' => __DIR__ . '/../react/cache', 'aliases' => array(), 'dev_requirement' => \false), 'react/child-process' => array('pretty_version' => 'v0.6.5', 'version' => '0.6.5.0', 'reference' => 'e71eb1aa55f057c7a4a0d08d06b0b0a484bead43', 'type' => 'library', 'install_path' => __DIR__ . '/../react/child-process', 'aliases' => array(), 'dev_requirement' => \false), 'react/dns' => array('pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'reference' => 'a5427e7dfa47713e438016905605819d101f238c', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '187fb56f46d424afb6ec4ad089269c72eec2e137', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.9.0', 'version' => '2.9.0.0', 'reference' => '234f8fd1023c9158e2314fa9d7d0e6a83db42910', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise-timer' => array('pretty_version' => 'v1.9.0', 'version' => '1.9.0.0', 'reference' => 'aa7a73c74b8d8c0f622f5982ff7b0351bc29e495', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise-timer', 'aliases' => array(), 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.12.0', 'version' => '1.12.0.0', 'reference' => '81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'reference' => '7a423506ee1903e89f1e08ec5f0ed430ff784ae9', 'type' => 'library', 'install_path' => __DIR__ . '/../react/stream', 'aliases' => array(), 'dev_requirement' => \false), 'rector/extension-installer' => array('pretty_version' => '0.11.2', 'version' => '0.11.2.0', 'reference' => '05544e9b195863b8571ae2a3b903cbec7fa062e0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../rector/extension-installer', 'aliases' => array(), 'dev_requirement' => \false), 'rector/rector' => array('dev_requirement' => \false, 'replaced' => array(0 => '0.15.x-dev', 1 => 'dev-main')), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => 'ea9cf46a738e623ecd3e1ed7402eec1afa6032cd', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-downgrade-php' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '46346e2425dcc68086c540102d8e5e54b3cd97cf', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-downgrade-php', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-php-parser' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9639ef9429f74c14fdc3c7dad9d3b0d916663de0', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-php-parser', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => 'dcfdf20afde70255c8621828d915747b65575949', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpunit', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-src' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.15.x-dev'), 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '89e994ffb68921d571bbf5b8e1d59280b7f30a50', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '5.0.0', 'version' => '5.0.0.0', 'reference' => '70dd1b20bc198da394ad542e988381b44e64e39f', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/cache-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/config' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'f31b3c78a3650157188a240695e688d6a182aa91', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => '3e294254f2191762c1d137aed4b94e966965e985', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/contracts' => array('pretty_version' => 'v3.2.0', 'version' => '3.2.0.0', 'reference' => 'c47da22960a1eb5e39c1ad84120734e680265610', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.1.12', 'version' => '6.1.12.0', 'reference' => '360c9d0948e1fe675336346d5862e8e55b378d90', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/event-dispatcher-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/filesystem' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'e59e8a4006afd7f5654786a83b4fcb8da98f4593', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'c90dc446976a612e3312a97a6ec0069ab0c2099c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/http-client-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/polyfill-ctype' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-grapheme' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '19bd1e4fcd5b91116f14d8533c57831ed00571b6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symplify/easy-parallel' => array('pretty_version' => '11.1.27', 'version' => '11.1.27.0', 'reference' => '28911142f6a0f4127271f745e2403bb84fcd2b87', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/easy-parallel', 'aliases' => array(), 'dev_requirement' => \false), 'symplify/rule-doc-generator-contracts' => array('pretty_version' => '11.1.25', 'version' => '11.1.25.0', 'reference' => '05b78c1e832bd2427af080368f2b0d886af360f8', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/rule-doc-generator-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'triun/longest-common-substring' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'eb353758f4b2ec8c874ad36c2acd35d38cf436d4', 'type' => 'library', 'install_path' => __DIR__ . '/../triun/longest-common-substring', 'aliases' => array(), 'dev_requirement' => \false), 'webmozart/assert' => array('pretty_version' => '1.11.0', 'version' => '1.11.0.0', 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), 'dev_requirement' => \false))); +return array('root' => array('name' => 'rector/rector-src', 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.15.x-dev'), 'dev' => \false), 'versions' => array('clue/ndjson-react' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '392dc165fce93b5bb5c637b67e59619223c931b0', 'type' => 'library', 'install_path' => __DIR__ . '/../clue/ndjson-react', 'aliases' => array(), 'dev_requirement' => \false), 'composer/pcre' => array('pretty_version' => '3.1.0', 'version' => '3.1.0.0', 'reference' => '4bff79ddd77851fe3cdd11616ed3f92841ba5bd2', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'dev_requirement' => \false), 'doctrine/inflector' => array('pretty_version' => '2.0.6', 'version' => '2.0.6.0', 'reference' => 'd9d313a36c872fd6ee06d9a6cbcf713eaa40f024', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.1', 'version' => '3.0.1.0', 'reference' => '531bfb9d15f8aa57454f5f0285b18bec903b8fb7', 'type' => 'library', 'install_path' => __DIR__ . '/../evenement/evenement', 'aliases' => array(), 'dev_requirement' => \false), 'fidry/cpu-core-counter' => array('pretty_version' => '0.5.1', 'version' => '0.5.1.0', 'reference' => 'b58e5a3933e541dc286cc91fc4f3898bbc6f1623', 'type' => 'library', 'install_path' => __DIR__ . '/../fidry/cpu-core-counter', 'aliases' => array(), 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.9', 'version' => '3.2.9.0', 'reference' => 'c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.15.3', 'version' => '4.15.3.0', 'reference' => '570e980a201d8ed0236b0a62ddf2c9cbb2034039', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'dev_requirement' => \false), 'ondram/ci-detector' => array('pretty_version' => '4.1.0', 'version' => '4.1.0.0', 'reference' => '8a4b664e916df82ff26a44709942dfd593fa6f30', 'type' => 'library', 'install_path' => __DIR__ . '/../ondram/ci-detector', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.16.0', 'version' => '1.16.0.0', 'reference' => '57090cfccbfaa639e703c007486d605a6e80f56d', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan' => array('pretty_version' => '1.9.16', 'version' => '1.9.16.0', 'reference' => '922e2689bb180575d0f57de0443c431a5a698e8f', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan-phpunit' => array('pretty_version' => '1.3.3', 'version' => '1.3.3.0', 'reference' => '54a24bd23e9e80ee918cdc24f909d376c2e273f7', 'type' => 'phpstan-extension', 'install_path' => __DIR__ . '/../phpstan/phpstan-phpunit', 'aliases' => array(), 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), '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', 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), '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.2.0', 'version' => '1.2.0.0', 'reference' => 'd47c472b64aa5608225f47965a484b75c7817d5b', 'type' => 'library', 'install_path' => __DIR__ . '/../react/cache', 'aliases' => array(), 'dev_requirement' => \false), 'react/child-process' => array('pretty_version' => 'v0.6.5', 'version' => '0.6.5.0', 'reference' => 'e71eb1aa55f057c7a4a0d08d06b0b0a484bead43', 'type' => 'library', 'install_path' => __DIR__ . '/../react/child-process', 'aliases' => array(), 'dev_requirement' => \false), 'react/dns' => array('pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'reference' => 'a5427e7dfa47713e438016905605819d101f238c', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '187fb56f46d424afb6ec4ad089269c72eec2e137', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.9.0', 'version' => '2.9.0.0', 'reference' => '234f8fd1023c9158e2314fa9d7d0e6a83db42910', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise-timer' => array('pretty_version' => 'v1.9.0', 'version' => '1.9.0.0', 'reference' => 'aa7a73c74b8d8c0f622f5982ff7b0351bc29e495', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise-timer', 'aliases' => array(), 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.12.0', 'version' => '1.12.0.0', 'reference' => '81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.2.0', 'version' => '1.2.0.0', 'reference' => '7a423506ee1903e89f1e08ec5f0ed430ff784ae9', 'type' => 'library', 'install_path' => __DIR__ . '/../react/stream', 'aliases' => array(), 'dev_requirement' => \false), 'rector/extension-installer' => array('pretty_version' => '0.11.2', 'version' => '0.11.2.0', 'reference' => '05544e9b195863b8571ae2a3b903cbec7fa062e0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../rector/extension-installer', 'aliases' => array(), 'dev_requirement' => \false), 'rector/rector' => array('dev_requirement' => \false, 'replaced' => array(0 => '0.15.x-dev', 1 => 'dev-main')), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => 'ea9cf46a738e623ecd3e1ed7402eec1afa6032cd', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-downgrade-php' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '46346e2425dcc68086c540102d8e5e54b3cd97cf', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-downgrade-php', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-php-parser' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9639ef9429f74c14fdc3c7dad9d3b0d916663de0', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-php-parser', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => 'dcfdf20afde70255c8621828d915747b65575949', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-phpunit', 'aliases' => array(0 => '0.11.x-dev'), 'dev_requirement' => \false), 'rector/rector-src' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(0 => '0.15.x-dev'), 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '89e994ffb68921d571bbf5b8e1d59280b7f30a50', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '5.0.0', 'version' => '5.0.0.0', 'reference' => '70dd1b20bc198da394ad542e988381b44e64e39f', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/cache-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/config' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'f31b3c78a3650157188a240695e688d6a182aa91', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => '3e294254f2191762c1d137aed4b94e966965e985', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/contracts' => array('pretty_version' => 'v3.2.0', 'version' => '3.2.0.0', 'reference' => 'c47da22960a1eb5e39c1ad84120734e680265610', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.1.12', 'version' => '6.1.12.0', 'reference' => '360c9d0948e1fe675336346d5862e8e55b378d90', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/event-dispatcher-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/filesystem' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'e59e8a4006afd7f5654786a83b4fcb8da98f4593', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'c90dc446976a612e3312a97a6ec0069ab0c2099c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/http-client-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/polyfill-ctype' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-grapheme' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '19bd1e4fcd5b91116f14d8533c57831ed00571b6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.2.5', 'version' => '6.2.5.0', 'reference' => 'b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => 'v3.2.0')), 'symplify/easy-parallel' => array('pretty_version' => '11.1.27', 'version' => '11.1.27.0', 'reference' => '28911142f6a0f4127271f745e2403bb84fcd2b87', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/easy-parallel', 'aliases' => array(), 'dev_requirement' => \false), 'symplify/rule-doc-generator-contracts' => array('pretty_version' => '11.1.26', 'version' => '11.1.26.0', 'reference' => '3e66b3fec678b74a076395ec629d535fb95293b5', 'type' => 'library', 'install_path' => __DIR__ . '/../symplify/rule-doc-generator-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'triun/longest-common-substring' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'eb353758f4b2ec8c874ad36c2acd35d38cf436d4', 'type' => 'library', 'install_path' => __DIR__ . '/../triun/longest-common-substring', 'aliases' => array(), 'dev_requirement' => \false), 'webmozart/assert' => array('pretty_version' => '1.11.0', 'version' => '1.11.0.0', 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), 'dev_requirement' => \false))); diff --git a/vendor/phpstan/phpstan/phpstan.phar b/vendor/phpstan/phpstan/phpstan.phar index aee0930a8b3..7546edab9ae 100644 Binary files a/vendor/phpstan/phpstan/phpstan.phar and b/vendor/phpstan/phpstan/phpstan.phar differ diff --git a/vendor/phpstan/phpstan/phpstan.phar.asc b/vendor/phpstan/phpstan/phpstan.phar.asc index 6415f4d7b10..5d85d542c37 100644 --- a/vendor/phpstan/phpstan/phpstan.phar.asc +++ b/vendor/phpstan/phpstan/phpstan.phar.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmPJH5YACgkQzxoQjQ56 -5yAn3A/8DhHW+4QOy8MYvSNRKjuKw408q9mXbHooeDpplIEO3DvUatDIiWdjbLVC -gY7hs89CxJUMkdxjT2q6/gFsRP4bOuGfckXuX0MFhVj89c3aw/5an5sw9xwJ0YL/ -k19CR4ZVjUJ1o0/gxmTXBh7MTEsIRFuGDJS7PKC7tf8MB5ujlO3pBXuykXh5oaNd -UEtLLztCr/zDAc7s7mW2iujiDvmY/l/3oYJiS5IkmkG4FePUaJ3oUzZU5k2F+js0 -NeSbSwUZ4l+xXuktk2Kr+blFxNZu5nFMKLuj94d/A2dpHWR9ErTwhMBNSbHVC5qn -c4pO5XED+ygZ48kud4ImreOvfPwiiWjol+8TQgAb9sExakvjb9+HSaH/eInraBHQ -FR/PzDxF42El+fdn8eopGfaz+iHXIZPDrmTRnf9AlTKMshkvZC8ZCAxDFxDhJaoZ -NxeGDP6dawDCnCu8YldpQbwxkK089eeSSUu1HCmJJJ4Xgp8xm36l5JVEOT4zFw4d -gU7t/v9e6u4bccZC9W8UO/TmWNRW2n1qFX6VurgsuYq8jRVMsVj1uEaKCJtOH5Lm -Z8ca7D28Wckv31kUOR/XX2FypzJebG0I+K1cQJJjIjAlABj6RVSxuZWUakOoPnHy -YZGpIQhyHUSTwppqkYMnpbOoOCmzX3p08qdXbKfgCU6WJQtiz7U= -=70O7 +iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmPiKvUACgkQzxoQjQ56 +5yCMJRAAi1z4OEeZTgkcoElOBQ4bY4rgf0fmETn0PIrOW/cSwLdFIgNMN+TBadqa +AAmnH5f+n59AORpWgvbzouDXp76WN8G4yh7tyhW7aI3H7EWf5bIqYD9H8DjK5gI/ +a/BLPa+GrXbkSFgmgao/54b4axKmyj9hBRoG7hPnce3Z0nVswUYeauNcaO0b1KV9 +hin9huA0S+Ed/oXeAPUbs1FU0NGCVfynFplhY4d5KyAm6yLij/8pyiqEHlpW4/LI +7z5ZJZXEUpvLywSD7o99RqXhHPs2ODItR1uzhg1EEyW2bqUf6bdrb1ikXG67pNtd +vtkOPuJ9VUbRKjKvlKeWC194c5KzM7a3nEDtNsDvKwo1rPWR6hIf3VukSEsv08Wd +us65DDFQrWVbLDPN9yROqS70KAEe7leO65NJzbtnzjtNWHF+FbHnz3sl63X9mAqz +guNtjjJJjZG5EGPCOotG0E90Fmgs9aD5i2dZoQTH4Yno3Rq5qJpjlGenjEjW8cu6 +xFRxP+fGbqeDaw3wLe7niBXHrZQ3eKUpXZaxaFVVSoIzO9RxqpVyjnq3oUX2d+ti +MRA1Smr6Fu8TWxoBJGLWDBIOtwARcAmz5NBUolzAXb6gb3XDR8W9w4aV8hELEAwb +bPtDupKyAqCO+hiPTaOp0Z5TVCOo6YZUGSaHr88JFeFTGvAdeP0= +=NZJU -----END PGP SIGNATURE----- diff --git a/vendor/symplify/rule-doc-generator-contracts/composer.json b/vendor/symplify/rule-doc-generator-contracts/composer.json index d1c6dc0bb7d..05273e606bb 100644 --- a/vendor/symplify/rule-doc-generator-contracts/composer.json +++ b/vendor/symplify/rule-doc-generator-contracts/composer.json @@ -6,6 +6,17 @@ "php": ">=8.1", "nette\/utils": "^3.2" }, + "require-dev": { + "php-parallel-lint\/php-parallel-lint": "^1.3", + "phpstan\/extension-installer": "^1.2", + "rector\/rector": "^0.15.10", + "symplify\/easy-ci": "^11.1", + "symplify\/easy-coding-standard": "^11.1", + "symplify\/easy-testing": "^11.1", + "symplify\/phpstan-extensions": "^11.1", + "symplify\/phpstan-rules": "11.2.3.72", + "tomasvotruba\/unused-public": "^0.0.34" + }, "autoload": { "psr-4": { "Symplify\\RuleDocGenerator\\": "src" @@ -16,23 +27,20 @@ "dev-main": "11.2-dev" } }, - "conflict": { - "symplify\/phpstan-rules": "<11.1.24", - "symplify\/easy-testing": "<11.1.25", - "symplify\/php-config-printer": "<11.1.25", - "symplify\/autowire-array-parameter": "<11.1.25", - "symplify\/package-builder": "<11.1.25", - "symplify\/phpstan-extensions": "<11.1.25", - "symplify\/rule-doc-generator": "<11.1.25", - "symplify\/smart-file-system": "<11.1.25", - "symplify\/symfony-static-dumper": "<11.1.25", - "symplify\/symplify-kernel": "<11.1.25", - "symplify\/config-transformer": "<11.1.24", - "symplify\/coding-standard": "<11.1.24", - "symplify\/easy-parallel": "<11.1.25", - "symplify\/easy-ci": "<11.1.24", - "symplify\/monorepo-builder": "<11.1.24" + "scripts": { + "check-cs": "vendor\/bin\/ecs check --ansi", + "fix-cs": "vendor\/bin\/ecs check --fix --ansi", + "phpstan": "vendor\/bin\/phpstan analyse --ansi --error-format symplify", + "rector": "vendor\/bin\/rector process --dry-run --ansi" }, "minimum-stability": "dev", - "prefer-stable": true + "prefer-stable": true, + "config": { + "sort-packages": true, + "platform-check": false, + "allow-plugins": { + "cweagans\/composer-patches": true, + "phpstan\/extension-installer": true + } + } } \ No newline at end of file diff --git a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/AbstractCodeSample.php b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/AbstractCodeSample.php index 44b3f450d88..9652d163607 100644 --- a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/AbstractCodeSample.php +++ b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/AbstractCodeSample.php @@ -9,10 +9,12 @@ abstract class AbstractCodeSample implements CodeSampleInterface { /** * @var non-empty-string + * @readonly */ private $goodCode; /** * @var non-empty-string + * @readonly */ private $badCode; public function __construct(string $badCode, string $goodCode) diff --git a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ComposerJsonAwareCodeSample.php b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ComposerJsonAwareCodeSample.php index 9277c57afe2..465805f52c4 100644 --- a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ComposerJsonAwareCodeSample.php +++ b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ComposerJsonAwareCodeSample.php @@ -7,6 +7,7 @@ use Symplify\RuleDocGenerator\ValueObject\AbstractCodeSample; final class ComposerJsonAwareCodeSample extends AbstractCodeSample { /** + * @readonly * @var string */ private $composerJson; diff --git a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ExtraFileCodeSample.php b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ExtraFileCodeSample.php index fb259cc5f05..51728aab8c2 100644 --- a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ExtraFileCodeSample.php +++ b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/CodeSample/ExtraFileCodeSample.php @@ -7,6 +7,7 @@ use Symplify\RuleDocGenerator\ValueObject\AbstractCodeSample; final class ExtraFileCodeSample extends AbstractCodeSample { /** + * @readonly * @var string */ private $extraFile; diff --git a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/RuleDefinition.php b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/RuleDefinition.php index 6767815efc4..4c125b4f392 100644 --- a/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/RuleDefinition.php +++ b/vendor/symplify/rule-doc-generator-contracts/src/ValueObject/RuleDefinition.php @@ -23,6 +23,7 @@ final class RuleDefinition */ private $codeSamples = []; /** + * @readonly * @var string */ private $description;