Updated Rector to commit 48784457eb

48784457eb Fix doctrine inflector bug downgrade (#388)
This commit is contained in:
Tomas Votruba 2021-07-05 15:06:41 +00:00
parent c7d260ee84
commit 121ea7f23d
44 changed files with 260 additions and 229 deletions

View File

@ -13,6 +13,8 @@ use Rector\NodeTypeResolver\Node\AttributeKey;
/**
* This service contains all the parsed nodes. E.g. all the functions, method call, classes, static calls etc. It's
* useful in case of context analysis, e.g. find all the usage of class method to detect, if the method is used.
*
* @deprecated
*/
final class NodeRepository
{

View File

@ -16,6 +16,7 @@ use Rector\NodeTypeResolver\Node\AttributeKey;
* @see https://phpstan.org/blog/generics-in-php-using-phpdocs
*
* @internal To be used only in NodeRepository
* @deprecated
*/
final class ParsedNodeCollector
{

View File

@ -22,14 +22,14 @@ final class GenericClassStringTypeCorrector
public function correct(\PHPStan\Type\Type $mainType) : \PHPStan\Type\Type
{
// inspired from https://github.com/phpstan/phpstan-src/blob/94e3443b2d21404a821e05b901dd4b57fcbd4e7f/src/Type/Generic/TemplateTypeHelper.php#L18
return \PHPStan\Type\TypeTraverser::map($mainType, function (\PHPStan\Type\Type $type, callable $traverse) : Type {
if (!$type instanceof \PHPStan\Type\Constant\ConstantStringType) {
return $traverse($type);
return \PHPStan\Type\TypeTraverser::map($mainType, function (\PHPStan\Type\Type $traversedType, callable $traverseCallback) : Type {
if (!$traversedType instanceof \PHPStan\Type\Constant\ConstantStringType) {
return $traverseCallback($traversedType);
}
if (!$this->reflectionProvider->hasClass($type->getValue())) {
return $traverse($type);
if (!$this->reflectionProvider->hasClass($traversedType->getValue())) {
return $traverseCallback($traversedType);
}
return new \PHPStan\Type\Generic\GenericClassStringType(new \PHPStan\Type\ObjectType($type->getValue()));
return new \PHPStan\Type\Generic\GenericClassStringType(new \PHPStan\Type\ObjectType($traversedType->getValue()));
});
}
}

View File

@ -17,6 +17,7 @@ use PHPStan\Type\MixedType;
use PHPStan\Type\ObjectType;
use PHPStan\Type\StringType;
use PHPStan\Type\Type;
use PHPStan\Type\TypeTraverser;
use PHPStan\Type\TypeUtils;
use PHPStan\Type\VerbosityLevel;
use Rector\StaticTypeMapper\TypeFactory\UnionTypeFactory;
@ -62,13 +63,8 @@ final class TypeFactory
if (!$keepConstant) {
$type = $this->removeValueFromConstantType($type);
}
if ($type instanceof \Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType) {
$type = new \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType($type->getFullyQualifiedName());
}
if ($type instanceof \PHPStan\Type\ObjectType && !$type instanceof \PHPStan\Type\Generic\GenericObjectType && !$type instanceof \Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType && $type->getClassName() !== 'Iterator') {
$type = new \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType($type->getClassName());
}
$typeHash = \md5($type->describe(\PHPStan\Type\VerbosityLevel::cache()));
$type = $this->normalizeObjectTypes($type);
$typeHash = $type->describe(\PHPStan\Type\VerbosityLevel::cache());
$uniqueTypes[$typeHash] = $type;
}
// re-index
@ -142,4 +138,16 @@ final class TypeFactory
}
return $unwrappedTypes;
}
private function normalizeObjectTypes(\PHPStan\Type\Type $type) : \PHPStan\Type\Type
{
return \PHPStan\Type\TypeTraverser::map($type, function (\PHPStan\Type\Type $traversedType, callable $traverseCallback) : Type {
if ($traversedType instanceof \Rector\StaticTypeMapper\ValueObject\Type\ShortenedObjectType) {
return new \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType($traversedType->getFullyQualifiedName());
}
if ($traversedType instanceof \PHPStan\Type\ObjectType && !$traversedType instanceof \PHPStan\Type\Generic\GenericObjectType && !$traversedType instanceof \Rector\StaticTypeMapper\ValueObject\Type\AliasedObjectType && $traversedType->getClassName() !== 'Iterator') {
return new \Rector\StaticTypeMapper\ValueObject\Type\FullyQualifiedObjectType($traversedType->getClassName());
}
return $traverseCallback($traversedType);
});
}
}

View File

@ -84,8 +84,9 @@ CODE_SAMPLE
}
/**
* @param MethodCall|StaticCall|ClassMethod $node
* @return \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod
*/
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
public function refactor(\PhpParser\Node $node)
{
foreach ($this->addedArguments as $addedArgument) {
if (!$this->isObjectTypeMatch($node, $addedArgument->getObjectType())) {

View File

@ -56,8 +56,9 @@ CODE_SAMPLE
}
/**
* @param MethodCall|StaticCall|ClassMethod $node
* @return \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod
*/
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
public function refactor(\PhpParser\Node $node)
{
foreach ($this->replacedArguments as $replacedArgument) {
if (!$this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType($node, $replacedArgument->getObjectType())) {

View File

@ -51,10 +51,14 @@ final class ParentChildClassMethodTypeResolver
$stackedParameterTypesByClassName = [];
// get subclasses of ancestors too
foreach ($classReflection->getAncestors() as $ancestorClassReflection) {
foreach (\array_keys($classMethodStack) as $className) {
foreach ($classMethodStack as $className => $methodNameToClassMethods) {
if (!$this->reflectionProvider->hasClass($className)) {
continue;
}
// also match method name!
if (!isset($methodNameToClassMethods[$methodName])) {
continue;
}
$stackedClassReflection = $this->reflectionProvider->getClass($className);
if (!$stackedClassReflection->isSubclassOf($ancestorClassReflection->getName())) {
continue;

View File

@ -109,9 +109,8 @@ CODE_SAMPLE
/**
* @param If_[] $ifs
* @return If_[]
* @param \PhpParser\Node\Stmt\Return_ $return
*/
private function collectLeftBooleanOrToIfs(\PhpParser\Node\Expr\BinaryOp\BooleanOr $booleanOr, $return, array $ifs) : array
private function collectLeftBooleanOrToIfs(\PhpParser\Node\Expr\BinaryOp\BooleanOr $booleanOr, \PhpParser\Node\Stmt\Return_ $return, array $ifs) : array
{
$left = $booleanOr->left;
if (!$left instanceof \PhpParser\Node\Expr\BinaryOp\BooleanOr) {

View File

@ -121,9 +121,8 @@ CODE_SAMPLE
/**
* @param If_[] $ifs
* @return If_[]
* @param \PhpParser\Node\Stmt\Return_ $return
*/
private function collectLeftBooleanOrToIfs(\PhpParser\Node\Expr\BinaryOp\BooleanOr $BooleanOr, $return, array $ifs) : array
private function collectLeftBooleanOrToIfs(\PhpParser\Node\Expr\BinaryOp\BooleanOr $BooleanOr, \PhpParser\Node\Stmt\Return_ $return, array $ifs) : array
{
$left = $BooleanOr->left;
if (!$left instanceof \PhpParser\Node\Expr\BinaryOp\BooleanOr) {

View File

@ -52,8 +52,9 @@ CODE_SAMPLE
}
/**
* @param StaticCall|MethodCall $node
* @return \PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Expr\MethodCall
*/
public function refactor($node) : ?\PhpParser\Node
public function refactor($node)
{
foreach (\Rector\PHPOffice\ValueObject\PHPExcelMethodDefaultValues::METHOD_NAMES_BY_TYPE_WITH_VALUE as $type => $defaultValuesByMethodName) {
if (!$this->isCallerObjectType($node, new \PHPStan\Type\ObjectType($type))) {

View File

@ -48,8 +48,9 @@ CODE_SAMPLE
}
/**
* @param MethodCall|StaticCall|ClassMethod $node
* @return \PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|\PhpParser\Node\Stmt\ClassMethod
*/
public function refactor($node) : ?\PhpParser\Node
public function refactor($node)
{
foreach ($this->removedArguments as $removedArgument) {
if (!$this->nodeTypeResolver->isMethodStaticCallOrClassMethodObjectType($node, $removedArgument->getObjectType())) {

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = 'bec370b9f90f08e8b57ed86cfd91f4770c629b00';
public const PACKAGE_VERSION = '48784457eb2aa04d5dfecb191c7bd20cc315a578';
/**
* @var string
*/
public const RELEASE_DATE = '2021-07-05 13:56:31';
public const RELEASE_DATE = '2021-07-05 16:58:37';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210705\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

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

View File

@ -1472,6 +1472,7 @@ return array(
'RectorPrefix20210705\\Symplify\\VendorPatches\\Console\\GenerateCommandReporter' => $vendorDir . '/symplify/vendor-patches/src/Console/GenerateCommandReporter.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Console\\VendorPatchesConsoleApplication' => $vendorDir . '/symplify/vendor-patches/src/Console/VendorPatchesConsoleApplication.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Differ\\PatchDiffer' => $vendorDir . '/symplify/vendor-patches/src/Differ/PatchDiffer.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Exception\\ShouldNotHappenException' => $vendorDir . '/symplify/vendor-patches/src/Exception/ShouldNotHappenException.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\FileSystem\\PathResolver' => $vendorDir . '/symplify/vendor-patches/src/FileSystem/PathResolver.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Finder\\OldToNewFilesFinder' => $vendorDir . '/symplify/vendor-patches/src/Finder/OldToNewFilesFinder.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\HttpKernel\\VendorPatchesKernel' => $vendorDir . '/symplify/vendor-patches/src/HttpKernel/VendorPatchesKernel.php',

View File

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

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit66666ca7e9907954240575cbd5e42713
class ComposerStaticInitf7c04dbe56b787b679c4b4e7f21e76e8
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -1837,6 +1837,7 @@ class ComposerStaticInit66666ca7e9907954240575cbd5e42713
'RectorPrefix20210705\\Symplify\\VendorPatches\\Console\\GenerateCommandReporter' => __DIR__ . '/..' . '/symplify/vendor-patches/src/Console/GenerateCommandReporter.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Console\\VendorPatchesConsoleApplication' => __DIR__ . '/..' . '/symplify/vendor-patches/src/Console/VendorPatchesConsoleApplication.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Differ\\PatchDiffer' => __DIR__ . '/..' . '/symplify/vendor-patches/src/Differ/PatchDiffer.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Exception\\ShouldNotHappenException' => __DIR__ . '/..' . '/symplify/vendor-patches/src/Exception/ShouldNotHappenException.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\FileSystem\\PathResolver' => __DIR__ . '/..' . '/symplify/vendor-patches/src/FileSystem/PathResolver.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\Finder\\OldToNewFilesFinder' => __DIR__ . '/..' . '/symplify/vendor-patches/src/Finder/OldToNewFilesFinder.php',
'RectorPrefix20210705\\Symplify\\VendorPatches\\HttpKernel\\VendorPatchesKernel' => __DIR__ . '/..' . '/symplify/vendor-patches/src/HttpKernel/VendorPatchesKernel.php',
@ -3867,9 +3868,9 @@ class ComposerStaticInit66666ca7e9907954240575cbd5e42713
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit66666ca7e9907954240575cbd5e42713::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit66666ca7e9907954240575cbd5e42713::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit66666ca7e9907954240575cbd5e42713::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitf7c04dbe56b787b679c4b4e7f21e76e8::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitf7c04dbe56b787b679c4b4e7f21e76e8::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitf7c04dbe56b787b679c4b4e7f21e76e8::$classMap;
}, null, ClassLoader::class);
}

View File

@ -1829,12 +1829,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/symfony\/console.git",
"reference": "8d91db2115506edcf6adef0a8ab2782498597126"
"reference": "630350d19c544665ed182cad32b95b927d7f9f10"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symfony\/console\/zipball\/8d91db2115506edcf6adef0a8ab2782498597126",
"reference": "8d91db2115506edcf6adef0a8ab2782498597126",
"url": "https:\/\/api.github.com\/repos\/symfony\/console\/zipball\/630350d19c544665ed182cad32b95b927d7f9f10",
"reference": "630350d19c544665ed182cad32b95b927d7f9f10",
"shasum": ""
},
"require": {
@ -1871,7 +1871,7 @@
"symfony\/lock": "",
"symfony\/process": ""
},
"time": "2021-07-04T09:35:31+00:00",
"time": "2021-07-05T13:29:16+00:00",
"default-branch": true,
"type": "library",
"extra": {
@ -3804,17 +3804,17 @@
},
{
"name": "symplify\/astral",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/astral.git",
"reference": "86e3f59a53fc70fe2c66f8e99166b0b7f6253de2"
"reference": "ef5944e4eab044eaed4d60b181fa84c6a2cb3122"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/astral\/zipball\/86e3f59a53fc70fe2c66f8e99166b0b7f6253de2",
"reference": "86e3f59a53fc70fe2c66f8e99166b0b7f6253de2",
"url": "https:\/\/api.github.com\/repos\/symplify\/astral\/zipball\/ef5944e4eab044eaed4d60b181fa84c6a2cb3122",
"reference": "ef5944e4eab044eaed4d60b181fa84c6a2cb3122",
"shasum": ""
},
"require": {
@ -3823,14 +3823,14 @@
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/autowire-array-parameter": "^9.4.8",
"symplify\/package-builder": "^9.4.8"
"symplify\/autowire-array-parameter": "^9.4.9",
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symplify\/easy-testing": "^9.4.8"
"symplify\/easy-testing": "^9.4.9"
},
"time": "2021-07-03T14:17:05+00:00",
"time": "2021-07-05T13:36:03+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -3849,7 +3849,7 @@
],
"description": "Toolking for smart daily work with AST",
"support": {
"source": "https:\/\/github.com\/symplify\/astral\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/astral\/tree\/9.4.9"
},
"funding": [
{
@ -3865,29 +3865,29 @@
},
{
"name": "symplify\/autowire-array-parameter",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/autowire-array-parameter.git",
"reference": "926604fc1a1a774cf4ea399e4923626d70eb121e"
"reference": "3afd837389b0ef936bf737d10c3a89e4a274219a"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/926604fc1a1a774cf4ea399e4923626d70eb121e",
"reference": "926604fc1a1a774cf4ea399e4923626d70eb121e",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/3afd837389b0ef936bf737d10c3a89e4a274219a",
"reference": "3afd837389b0ef936bf737d10c3a89e4a274219a",
"shasum": ""
},
"require": {
"nette\/utils": "^3.2",
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:17:08+00:00",
"time": "2021-07-05T13:36:04+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -3906,7 +3906,7 @@
],
"description": "Autowire array parameters for your Symfony applications",
"support": {
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/autowire-array-parameter\/tree\/9.4.9"
},
"funding": [
{
@ -3922,17 +3922,17 @@
},
{
"name": "symplify\/composer-json-manipulator",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/composer-json-manipulator.git",
"reference": "f8b00aaf23c8ed31d0bf6512d23c42aa1549b1b6"
"reference": "be147420afdb2d647d4e90853799259f9457fa75"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/composer-json-manipulator\/zipball\/f8b00aaf23c8ed31d0bf6512d23c42aa1549b1b6",
"reference": "f8b00aaf23c8ed31d0bf6512d23c42aa1549b1b6",
"url": "https:\/\/api.github.com\/repos\/symplify\/composer-json-manipulator\/zipball\/be147420afdb2d647d4e90853799259f9457fa75",
"reference": "be147420afdb2d647d4e90853799259f9457fa75",
"shasum": ""
},
"require": {
@ -3942,13 +3942,13 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/filesystem": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8"
"symplify\/package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:17:14+00:00",
"time": "2021-07-05T13:36:12+00:00",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
@ -3967,7 +3967,7 @@
],
"description": "Package to load, merge and save composer.json file(s)",
"support": {
"source": "https:\/\/github.com\/symplify\/composer-json-manipulator\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/composer-json-manipulator\/tree\/9.4.9"
},
"funding": [
{
@ -3983,17 +3983,17 @@
},
{
"name": "symplify\/console-color-diff",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/console-color-diff.git",
"reference": "0d604f8e8a74251a6502266e747170f3ac59b505"
"reference": "40ef638315c6a094a9db2c54079ec62e5bf06042"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-color-diff\/zipball\/0d604f8e8a74251a6502266e747170f3ac59b505",
"reference": "0d604f8e8a74251a6502266e747170f3ac59b505",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-color-diff\/zipball\/40ef638315c6a094a9db2c54079ec62e5bf06042",
"reference": "40ef638315c6a094a9db2c54079ec62e5bf06042",
"shasum": ""
},
"require": {
@ -4003,12 +4003,12 @@
"symfony\/console": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:17:30+00:00",
"time": "2021-07-05T13:36:27+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4027,7 +4027,7 @@
],
"description": "Package to print diffs in console with colors",
"support": {
"source": "https:\/\/github.com\/symplify\/console-color-diff\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/console-color-diff\/tree\/9.4.9"
},
"funding": [
{
@ -4043,31 +4043,31 @@
},
{
"name": "symplify\/console-package-builder",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/console-package-builder.git",
"reference": "611ee3680c42d8b9f4d673d86bc055aac74fbab7"
"reference": "8c31e919deea027da7c58db8098a6f65b1c37c7a"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-package-builder\/zipball\/611ee3680c42d8b9f4d673d86bc055aac74fbab7",
"reference": "611ee3680c42d8b9f4d673d86bc055aac74fbab7",
"url": "https:\/\/api.github.com\/repos\/symplify\/console-package-builder\/zipball\/8c31e919deea027da7c58db8098a6f65b1c37c7a",
"reference": "8c31e919deea027da7c58db8098a6f65b1c37c7a",
"shasum": ""
},
"require": {
"php": ">=8.0",
"symfony\/console": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"time": "2021-07-03T14:17:30+00:00",
"time": "2021-07-05T13:36:25+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4086,23 +4086,23 @@
],
"description": "Package to speed up building command line applications",
"support": {
"source": "https:\/\/github.com\/symplify\/console-package-builder\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/console-package-builder\/tree\/9.4.9"
},
"install-path": "..\/symplify\/console-package-builder"
},
{
"name": "symplify\/easy-testing",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/easy-testing.git",
"reference": "f798c5caf16cfcc1410bd0bd7514169d361b9981"
"reference": "7c1046e639a42bef75725d21507705e393a61657"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-testing\/zipball\/f798c5caf16cfcc1410bd0bd7514169d361b9981",
"reference": "f798c5caf16cfcc1410bd0bd7514169d361b9981",
"url": "https:\/\/api.github.com\/repos\/symplify\/easy-testing\/zipball\/7c1046e639a42bef75725d21507705e393a61657",
"reference": "7c1046e639a42bef75725d21507705e393a61657",
"shasum": ""
},
"require": {
@ -4112,15 +4112,15 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/finder": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/console-package-builder": "^9.4.8",
"symplify\/package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/console-package-builder": "^9.4.9",
"symplify\/package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:17:41+00:00",
"time": "2021-07-05T13:36:38+00:00",
"bin": [
"bin\/easy-testing"
],
@ -4142,7 +4142,7 @@
],
"description": "Testing made easy",
"support": {
"source": "https:\/\/github.com\/symplify\/easy-testing\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/easy-testing\/tree\/9.4.9"
},
"funding": [
{
@ -4158,17 +4158,17 @@
},
{
"name": "symplify\/package-builder",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/package-builder.git",
"reference": "c569afac29bd9fe9b9943329021c6a4ecfc589ac"
"reference": "fa7cf3ea5dca50ada8332a83d93188a6e2ef03f5"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/c569afac29bd9fe9b9943329021c6a4ecfc589ac",
"reference": "c569afac29bd9fe9b9943329021c6a4ecfc589ac",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/fa7cf3ea5dca50ada8332a83d93188a6e2ef03f5",
"reference": "fa7cf3ea5dca50ada8332a83d93188a6e2ef03f5",
"shasum": ""
},
"require": {
@ -4180,13 +4180,13 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/finder": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/easy-testing": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/easy-testing": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:17:49+00:00",
"time": "2021-07-05T13:37:01+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4205,7 +4205,7 @@
],
"description": "Dependency Injection, Console and Kernel toolkit for Symplify packages.",
"support": {
"source": "https:\/\/github.com\/symplify\/package-builder\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/package-builder\/tree\/9.4.9"
},
"funding": [
{
@ -4221,8 +4221,8 @@
},
{
"name": "symplify\/rule-doc-generator-contracts",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/rule-doc-generator-contracts.git",
@ -4274,17 +4274,17 @@
},
{
"name": "symplify\/simple-php-doc-parser",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/simple-php-doc-parser.git",
"reference": "65b8f7bd017d8fc585bae41e2a9410580cbc5bbf"
"reference": "9d0bcbd22e1a6327aa4a2e874e130ccb9640f536"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/simple-php-doc-parser\/zipball\/65b8f7bd017d8fc585bae41e2a9410580cbc5bbf",
"reference": "65b8f7bd017d8fc585bae41e2a9410580cbc5bbf",
"url": "https:\/\/api.github.com\/repos\/symplify\/simple-php-doc-parser\/zipball\/9d0bcbd22e1a6327aa4a2e874e130ccb9640f536",
"reference": "9d0bcbd22e1a6327aa4a2e874e130ccb9640f536",
"shasum": ""
},
"require": {
@ -4293,13 +4293,13 @@
"symfony\/config": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symplify\/easy-testing": "^9.4.8"
"symplify\/easy-testing": "^9.4.9"
},
"time": "2021-07-03T14:18:23+00:00",
"time": "2021-07-05T13:37:20+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4318,7 +4318,7 @@
],
"description": "Service integration of phpstan\/phpdoc-parser, with few extra goodies for practical simple use",
"support": {
"source": "https:\/\/github.com\/symplify\/simple-php-doc-parser\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/simple-php-doc-parser\/tree\/9.4.9"
},
"funding": [
{
@ -4334,17 +4334,17 @@
},
{
"name": "symplify\/skipper",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/skipper.git",
"reference": "97f804cfb98c928ac6960cee2e8bc8c2ff71f196"
"reference": "d4c114038b92595328b569d3ba5285941b695061"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/skipper\/zipball\/97f804cfb98c928ac6960cee2e8bc8c2ff71f196",
"reference": "97f804cfb98c928ac6960cee2e8bc8c2ff71f196",
"url": "https:\/\/api.github.com\/repos\/symplify\/skipper\/zipball\/d4c114038b92595328b569d3ba5285941b695061",
"reference": "d4c114038b92595328b569d3ba5285941b695061",
"shasum": ""
},
"require": {
@ -4354,14 +4354,14 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/filesystem": "^5.3",
"symfony\/finder": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:18:22+00:00",
"time": "2021-07-05T13:37:37+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4380,7 +4380,7 @@
],
"description": "Skip files by rule class, directory, file or fnmatch",
"support": {
"source": "https:\/\/github.com\/symplify\/skipper\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/skipper\/tree\/9.4.9"
},
"funding": [
{
@ -4396,8 +4396,8 @@
},
{
"name": "symplify\/smart-file-system",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/smart-file-system.git",
@ -4438,7 +4438,7 @@
],
"description": "Sanitized FileInfo with safe getRealPath() and other handy methods",
"support": {
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/9.4.9"
},
"funding": [
{
@ -4503,17 +4503,17 @@
},
{
"name": "symplify\/symplify-kernel",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/symplify-kernel.git",
"reference": "c96c1ea4bd645b00b38cd533aa740c97096714ee"
"reference": "63fa7217f39111d0fb2c7a1c0964f5f16a9fd105"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/c96c1ea4bd645b00b38cd533aa740c97096714ee",
"reference": "c96c1ea4bd645b00b38cd533aa740c97096714ee",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/63fa7217f39111d0fb2c7a1c0964f5f16a9fd105",
"reference": "63fa7217f39111d0fb2c7a1c0964f5f16a9fd105",
"shasum": ""
},
"require": {
@ -4521,15 +4521,15 @@
"symfony\/console": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/autowire-array-parameter": "^9.4.8",
"symplify\/composer-json-manipulator": "^9.4.8",
"symplify\/package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8"
"symplify\/autowire-array-parameter": "^9.4.9",
"symplify\/composer-json-manipulator": "^9.4.9",
"symplify\/package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:18:31+00:00",
"time": "2021-07-05T13:37:56+00:00",
"type": "library",
"extra": {
"branch-alias": {
@ -4548,23 +4548,23 @@
],
"description": "Internal Kernel for Symplify packages",
"support": {
"source": "https:\/\/github.com\/symplify\/symplify-kernel\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/symplify-kernel\/tree\/9.4.9"
},
"install-path": "..\/symplify\/symplify-kernel"
},
{
"name": "symplify\/vendor-patches",
"version": "9.4.8",
"version_normalized": "9.4.8.0",
"version": "9.4.9",
"version_normalized": "9.4.9.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/vendor-patches.git",
"reference": "74186ac46a5c3c884eec9e38bd1efd1419d1f14f"
"reference": "6bf645088945cd52c52e1431290ed88dfc0d35b4"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/vendor-patches\/zipball\/74186ac46a5c3c884eec9e38bd1efd1419d1f14f",
"reference": "74186ac46a5c3c884eec9e38bd1efd1419d1f14f",
"url": "https:\/\/api.github.com\/repos\/symplify\/vendor-patches\/zipball\/6bf645088945cd52c52e1431290ed88dfc0d35b4",
"reference": "6bf645088945cd52c52e1431290ed88dfc0d35b4",
"shasum": ""
},
"require": {
@ -4575,13 +4575,13 @@
"symfony\/console": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/composer-json-manipulator": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/composer-json-manipulator": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"
},
"time": "2021-07-03T14:18:43+00:00",
"time": "2021-07-05T13:37:59+00:00",
"bin": [
"bin\/vendor-patches"
],
@ -4603,7 +4603,7 @@
],
"description": "Generate vendor patches for packages with single command",
"support": {
"source": "https:\/\/github.com\/symplify\/vendor-patches\/tree\/9.4.8"
"source": "https:\/\/github.com\/symplify\/vendor-patches\/tree\/9.4.9"
},
"install-path": "..\/symplify\/vendor-patches"
},

File diff suppressed because one or more lines are too long

View File

@ -12,18 +12,16 @@ interface LanguageInflectorFactory
* @param bool $reset If true, will unset default inflections for all new rules
*
* @return $this
* @param \Doctrine\Inflector\Rules\Ruleset|null $singularRules
*/
public function withSingularRules($singularRules, bool $reset = \false);
public function withSingularRules(?\RectorPrefix20210705\Doctrine\Inflector\Rules\Ruleset $singularRules, bool $reset = \false);
/**
* Applies custom rules for pluralisation
*
* @param bool $reset If true, will unset default inflections for all new rules
*
* @return $this
* @param \Doctrine\Inflector\Rules\Ruleset|null $pluralRules
*/
public function withPluralRules($pluralRules, bool $reset = \false);
public function withPluralRules(?\RectorPrefix20210705\Doctrine\Inflector\Rules\Ruleset $pluralRules, bool $reset = \false);
/**
* Builds the inflector instance with all applicable rules
*/

View File

@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php';
if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) {
spl_autoload_call('RectorPrefix20210705\AutoloadIncluder');
}
if (!class_exists('ComposerAutoloaderInit66666ca7e9907954240575cbd5e42713', false) && !interface_exists('ComposerAutoloaderInit66666ca7e9907954240575cbd5e42713', false) && !trait_exists('ComposerAutoloaderInit66666ca7e9907954240575cbd5e42713', false)) {
spl_autoload_call('RectorPrefix20210705\ComposerAutoloaderInit66666ca7e9907954240575cbd5e42713');
if (!class_exists('ComposerAutoloaderInitf7c04dbe56b787b679c4b4e7f21e76e8', false) && !interface_exists('ComposerAutoloaderInitf7c04dbe56b787b679c4b4e7f21e76e8', false) && !trait_exists('ComposerAutoloaderInitf7c04dbe56b787b679c4b4e7f21e76e8', false)) {
spl_autoload_call('RectorPrefix20210705\ComposerAutoloaderInitf7c04dbe56b787b679c4b4e7f21e76e8');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210705\Doctrine\Inflector\Inflector');
@ -3308,9 +3308,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210705\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire66666ca7e9907954240575cbd5e42713')) {
function composerRequire66666ca7e9907954240575cbd5e42713() {
return \RectorPrefix20210705\composerRequire66666ca7e9907954240575cbd5e42713(...func_get_args());
if (!function_exists('composerRequiref7c04dbe56b787b679c4b4e7f21e76e8')) {
function composerRequiref7c04dbe56b787b679c4b4e7f21e76e8() {
return \RectorPrefix20210705\composerRequiref7c04dbe56b787b679c4b4e7f21e76e8(...func_get_args());
}
}
if (!function_exists('parseArgs')) {

View File

@ -27,9 +27,8 @@ class NodeBuilder implements \RectorPrefix20210705\Symfony\Component\Config\Defi
* Set the parent node.
*
* @return $this
* @param \Symfony\Component\Config\Definition\Builder\ParentNodeDefinitionInterface|null $parent
*/
public function setParent($parent = null)
public function setParent(\RectorPrefix20210705\Symfony\Component\Config\Definition\Builder\ParentNodeDefinitionInterface $parent = null)
{
$this->parent = $parent;
return $this;

View File

@ -79,9 +79,8 @@ class PrototypedArrayNode extends \RectorPrefix20210705\Symfony\Component\Config
}
/**
* Sets the default value of this node.
* @param mixed[] $value
*/
public function setDefaultValue($value)
public function setDefaultValue(array $value)
{
$this->defaultValue = $value;
}

View File

@ -19,9 +19,8 @@ interface HelperInterface
{
/**
* Sets the helper set associated with this helper.
* @param \Symfony\Component\Console\Helper\HelperSet|null $helperSet
*/
public function setHelperSet($helperSet = null);
public function setHelperSet(\RectorPrefix20210705\Symfony\Component\Console\Helper\HelperSet $helperSet = null);
/**
* Gets the helper set associated with this helper.
*

View File

@ -27,10 +27,10 @@ class InputArgument
private $default;
private $description;
/**
* @param string $name The argument name
* @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL
* @param string $description A description text
* @param mixed $default The default value (for self::OPTIONAL mode only)
* @param string $name The argument name
* @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL
* @param string $description A description text
* @param string|bool|int|float|array|null $default The default value (for self::OPTIONAL mode only)
*
* @throws InvalidArgumentException When argument mode is not valid
*/
@ -76,7 +76,7 @@ class InputArgument
/**
* Sets the default value.
*
* @param mixed $default The default value
* @param string|bool|int|float|array|null $default
*
* @throws LogicException When incorrect default value is given
*/
@ -97,7 +97,7 @@ class InputArgument
/**
* Returns the default value.
*
* @return mixed
* @return string|bool|int|float|array|null
*/
public function getDefault()
{

View File

@ -164,9 +164,7 @@ class InputDefinition
return $this->requiredCount;
}
/**
* Gets the default values.
*
* @return array An array of default values
* @return array<string|bool|int|float|array|null>
*/
public function getArgumentDefaults()
{
@ -292,9 +290,7 @@ class InputDefinition
return $this->getOption($this->shortcutToName($shortcut));
}
/**
* Gets an array of default values.
*
* @return array An array of all default values
* @return array<string|bool|int|float|array|null>
*/
public function getOptionDefaults()
{

View File

@ -47,9 +47,9 @@ interface InputInterface
* Does not necessarily return the correct result for short options
* when multiple flags are combined in the same option.
*
* @param string|array $values The value(s) to look for in the raw parameters (can be an array)
* @param mixed $default The default value to return if no result is found
* @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal
* @param string|array $values The value(s) to look for in the raw parameters (can be an array)
* @param string|bool|int|float|array|null $default The default value to return if no result is found
* @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal
*
* @return mixed The option value
*/
@ -69,7 +69,7 @@ interface InputInterface
/**
* Returns all the given arguments merged with the default values.
*
* @return array
* @return array<string|bool|int|float|array|null>
*/
public function getArguments();
/**
@ -97,7 +97,7 @@ interface InputInterface
/**
* Returns all the given options merged with the default values.
*
* @return array
* @return array<string|bool|int|float|array|null>
*/
public function getOptions();
/**

View File

@ -45,9 +45,9 @@ class InputOption
private $default;
private $description;
/**
* @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
* @param int|null $mode The option mode: One of the VALUE_* constants
* @param mixed $default The default value (must be null for self::VALUE_NONE)
* @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
* @param int|null $mode The option mode: One of the VALUE_* constants
* @param string|bool|int|float|array|null $default The default value (must be null for self::VALUE_NONE)
*
* @throws InvalidArgumentException If option mode is invalid or incompatible
*/
@ -149,11 +149,7 @@ class InputOption
return self::VALUE_NEGATABLE === (self::VALUE_NEGATABLE & $this->mode);
}
/**
* Sets the default value.
*
* @param mixed $default The default value
*
* @throws LogicException When incorrect default value is given
* @param string|bool|int|float|array|null $default
*/
public function setDefault($default = null)
{
@ -172,7 +168,7 @@ class InputOption
/**
* Returns the default value.
*
* @return mixed
* @return string|bool|int|float|array|null
*/
public function getDefault()
{

View File

@ -30,8 +30,8 @@ class Question
private $trimmable = \true;
private $multiline = \false;
/**
* @param string $question The question to ask to the user
* @param mixed $default The default answer to return if the user enters nothing
* @param string $question The question to ask to the user
* @param string|bool|int|float|null $default The default answer to return if the user enters nothing
*/
public function __construct(string $question, $default = null)
{
@ -50,7 +50,7 @@ class Question
/**
* Returns the default answer.
*
* @return mixed
* @return string|bool|int|float|null
*/
public function getDefault()
{

View File

@ -93,9 +93,8 @@ class HeaderBag implements \IteratorAggregate, \Countable
* Returns a header value by name.
*
* @return string|null The first header value or default value
* @param string|null $default
*/
public function get(string $key, $default = null)
public function get(string $key, string $default = null)
{
$headers = $this->all($key);
if (!$headers) {

View File

@ -27,7 +27,6 @@ interface FragmentUriGeneratorInterface
* @param bool $sign Whether to sign the URL or not
*
* @return string A fragment URI
* @param \Symfony\Component\HttpFoundation\Request|null $request
*/
public function generate(\RectorPrefix20210705\Symfony\Component\HttpKernel\Controller\ControllerReference $controller, $request = null, bool $absolute = \false, bool $strict = \true, bool $sign = \true) : string;
public function generate(\RectorPrefix20210705\Symfony\Component\HttpKernel\Controller\ControllerReference $controller, \RectorPrefix20210705\Symfony\Component\HttpFoundation\Request $request = null, bool $absolute = \false, bool $strict = \true, bool $sign = \true) : string;
}

View File

@ -6,13 +6,13 @@
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/dependency-injection": "^5.3",
"symplify\/autowire-array-parameter": "^9.4.8",
"symplify\/autowire-array-parameter": "^9.4.9",
"symfony\/http-kernel": "^5.3",
"nikic\/php-parser": "4.10.5",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"symplify\/easy-testing": "^9.4.8",
"symplify\/easy-testing": "^9.4.9",
"phpunit\/phpunit": "^9.5"
},
"autoload": {

View File

@ -6,7 +6,7 @@
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/dependency-injection": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/filesystem": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8"
"symplify\/package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -9,7 +9,7 @@
"sebastian\/diff": "^4.0",
"symfony\/dependency-injection": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -6,11 +6,11 @@
"php": ">=8.0",
"symfony\/dependency-injection": "^5.3",
"symfony\/console": "^5.3",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/package-builder": "^9.4.9",
"phpunit\/phpunit": "^9.5"
},
"autoload": {

View File

@ -13,10 +13,10 @@
"symfony\/http-kernel": "^5.3",
"symfony\/console": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/console-package-builder": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/package-builder": "^9.4.9",
"symplify\/console-package-builder": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -10,8 +10,8 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/finder": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/symplify-kernel": "^9.4.8",
"symplify\/easy-testing": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.9",
"symplify\/easy-testing": "^9.4.9",
"nette\/neon": "^3.2"
},
"require-dev": {

View File

@ -8,11 +8,11 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/config": "^5.3",
"symfony\/http-kernel": "^5.3",
"symplify\/package-builder": "^9.4.8"
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5",
"symplify\/easy-testing": "^9.4.8"
"symplify\/easy-testing": "^9.4.9"
},
"autoload": {
"psr-4": {

View File

@ -9,9 +9,9 @@
"symfony\/dependency-injection": "^5.3",
"symfony\/finder": "^5.3",
"symfony\/filesystem": "^5.3",
"symplify\/package-builder": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8",
"symplify\/smart-file-system": "^9.4.8"
"symplify\/package-builder": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9",
"symplify\/smart-file-system": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -7,10 +7,10 @@
"symfony\/console": "^5.3",
"symfony\/http-kernel": "^5.3",
"symfony\/dependency-injection": "^5.3",
"symplify\/smart-file-system": "^9.4.8",
"symplify\/composer-json-manipulator": "^9.4.8",
"symplify\/autowire-array-parameter": "^9.4.8",
"symplify\/package-builder": "^9.4.8"
"symplify\/smart-file-system": "^9.4.9",
"symplify\/composer-json-manipulator": "^9.4.9",
"symplify\/autowire-array-parameter": "^9.4.9",
"symplify\/package-builder": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -13,8 +13,8 @@
"symfony\/http-kernel": "^5.3",
"sebastian\/diff": "^4.0",
"cweagans\/composer-patches": "^1.7",
"symplify\/composer-json-manipulator": "^9.4.8",
"symplify\/symplify-kernel": "^9.4.8"
"symplify\/composer-json-manipulator": "^9.4.9",
"symplify\/symplify-kernel": "^9.4.9"
},
"require-dev": {
"phpunit\/phpunit": "^9.5"

View File

@ -80,7 +80,7 @@ final class GenerateCommand extends \RectorPrefix20210705\Symplify\PackageBuilde
$this->smartFileSystem->dumpFile($patchFileAbsolutePath, $patchDiff);
$addedPatchFilesByPackageName[$oldAndNewFileInfo->getPackageName()][] = $patchFileRelativePath;
}
$this->composerPatchesConfigurationUpdater->updateComposerJson($composerExtraPatches);
$this->composerPatchesConfigurationUpdater->updateComposerJsonAndPrint(\getcwd() . '/composer.json', $composerExtraPatches);
if ($addedPatchFilesByPackageName !== []) {
$message = \sprintf('Great! %d new patch files added', \count($addedPatchFilesByPackageName));
$this->symfonyStyle->success($message);

View File

@ -3,8 +3,15 @@
declare (strict_types=1);
namespace RectorPrefix20210705\Symplify\VendorPatches\Composer;
use RectorPrefix20210705\Nette\Utils\Arrays;
use RectorPrefix20210705\Symplify\Astral\Exception\ShouldNotHappenException;
use RectorPrefix20210705\Symplify\ComposerJsonManipulator\ComposerJsonFactory;
use RectorPrefix20210705\Symplify\ComposerJsonManipulator\FileSystem\JsonFileManager;
use RectorPrefix20210705\Symplify\ComposerJsonManipulator\ValueObject\ComposerJson;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @see \Symplify\VendorPatches\Tests\Composer\ComposerPatchesConfigurationUpdater\ComposerPatchesConfigurationUpdaterTest
*/
final class ComposerPatchesConfigurationUpdater
{
/**
@ -23,14 +30,25 @@ final class ComposerPatchesConfigurationUpdater
/**
* @param mixed[] $composerExtraPatches
*/
public function updateComposerJson(array $composerExtraPatches) : void
public function updateComposerJson(string $composerJsonFilePath, array $composerExtraPatches) : \RectorPrefix20210705\Symplify\ComposerJsonManipulator\ValueObject\ComposerJson
{
$extra = ['patches' => $composerExtraPatches];
$composerJsonFilePath = \getcwd() . '/composer.json';
$composerJson = $this->composerJsonFactory->createFromFilePath($composerJsonFilePath);
// merge "extra" section
$newExtra = \array_merge($composerJson->getExtra(), $extra);
// merge "extra" section - deep merge is needed, so original patches are included
$newExtra = \RectorPrefix20210705\Nette\Utils\Arrays::mergeTree($composerJson->getExtra(), $extra);
$composerJson->setExtra($newExtra);
$this->jsonFileManager->printComposerJsonToFilePath($composerJson, $composerJsonFilePath);
return $composerJson;
}
/**
* @param mixed[] $composerExtraPatches
*/
public function updateComposerJsonAndPrint(string $composerJsonFilePath, array $composerExtraPatches) : void
{
$composerJson = $this->updateComposerJson($composerJsonFilePath, $composerExtraPatches);
$fileInfo = $composerJson->getFileInfo();
if (!$fileInfo instanceof \Symplify\SmartFileSystem\SmartFileInfo) {
throw new \RectorPrefix20210705\Symplify\Astral\Exception\ShouldNotHappenException();
}
$this->jsonFileManager->printComposerJsonToFilePath($composerJson, $fileInfo->getRealPath());
}
}

View File

@ -0,0 +1,9 @@
<?php
declare (strict_types=1);
namespace RectorPrefix20210705\Symplify\VendorPatches\Exception;
use Exception;
final class ShouldNotHappenException extends \Exception
{
}