From 2da177465afac1e7c7e03f8acff126d2d8269c40 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Thu, 16 Nov 2023 17:36:40 +0000 Subject: [PATCH] Updated Rector to commit 363ae1bd444c365e38aef1cfcd69324b734c3c9c https://github.com/rectorphp/rector-src/commit/363ae1bd444c365e38aef1cfcd69324b734c3c9c [Performance][PostRector] Only process FullyQualified on import Node name on NameImportingPostRector (#5255) --- .../Collector/UseNodesToAddCollector.php | 6 +- .../Rector/NameImportingPostRector.php | 29 ++++----- .../ClassNameImportSkipper.php | 10 ++-- rules/CodingStyle/Node/NameImporter.php | 60 +++++++------------ src/Application/VersionResolver.php | 4 +- vendor/composer/installed.json | 16 ++--- vendor/composer/installed.php | 2 +- vendor/react/promise/CHANGELOG.md | 9 +++ vendor/react/promise/README.md | 2 +- vendor/react/promise/composer.json | 6 +- 10 files changed, 66 insertions(+), 78 deletions(-) diff --git a/packages/PostRector/Collector/UseNodesToAddCollector.php b/packages/PostRector/Collector/UseNodesToAddCollector.php index 3c5eeae1996a..09ef0aeb8d2c 100644 --- a/packages/PostRector/Collector/UseNodesToAddCollector.php +++ b/packages/PostRector/Collector/UseNodesToAddCollector.php @@ -5,7 +5,7 @@ use PhpParser\Node; use PhpParser\Node\Identifier; -use PhpParser\Node\Name; +use PhpParser\Node\Name\FullyQualified; use Rector\Core\Provider\CurrentFileProvider; use Rector\Core\ValueObject\Application\File; use Rector\Naming\Naming\UseImportsResolver; @@ -78,9 +78,9 @@ public function getUseImportTypesByNode(File $file, Node $node) : array } return $objectTypes; } - public function hasImport(File $file, Name $name, FullyQualifiedObjectType $fullyQualifiedObjectType) : bool + public function hasImport(File $file, FullyQualified $fullyQualified, FullyQualifiedObjectType $fullyQualifiedObjectType) : bool { - $useImports = $this->getUseImportTypesByNode($file, $name); + $useImports = $this->getUseImportTypesByNode($file, $fullyQualified); foreach ($useImports as $useImport) { if ($useImport->equals($fullyQualifiedObjectType)) { return \true; diff --git a/packages/PostRector/Rector/NameImportingPostRector.php b/packages/PostRector/Rector/NameImportingPostRector.php index d932732ad939..7559558751e5 100644 --- a/packages/PostRector/Rector/NameImportingPostRector.php +++ b/packages/PostRector/Rector/NameImportingPostRector.php @@ -25,7 +25,6 @@ use Rector\Core\ValueObject\Application\File; use Rector\Naming\Naming\AliasNameResolver; use Rector\Naming\Naming\UseImportsResolver; -use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer\DocBlockNameImporter; final class NameImportingPostRector extends \Rector\PostRector\Rector\AbstractPostRector { @@ -93,7 +92,7 @@ public function enterNode(Node $node) : ?Node if ($firstStmt instanceof FileWithoutNamespace && \current($firstStmt->stmts) instanceof InlineHTML) { return null; } - if ($node instanceof Name) { + if ($node instanceof FullyQualified) { return $this->processNodeName($node, $file); } if (!$node instanceof Stmt && !$node instanceof Param) { @@ -114,9 +113,9 @@ public function enterNode(Node $node) : ?Node $this->docBlockUpdater->updateRefactoredNodeWithPhpDocInfo($node); return $node; } - private function processNodeName(Name $name, File $file) : ?Node + private function processNodeName(FullyQualified $fullyQualified, File $file) : ?Node { - if ($name->isSpecialClassName()) { + if ($fullyQualified->isSpecialClassName()) { return null; } $namespaces = \array_filter($file->getNewStmts(), static function (Stmt $stmt) : bool { @@ -127,39 +126,35 @@ private function processNodeName(Name $name, File $file) : ?Node } /** @var Use_[]|GroupUse[] $currentUses */ $currentUses = $this->useImportsResolver->resolve(); - if ($this->classNameImportSkipper->shouldSkipName($name, $currentUses)) { + if ($this->classNameImportSkipper->shouldSkipName($fullyQualified, $currentUses)) { return null; } - $nameInUse = $this->resolveNameInUse($name, $currentUses); + $nameInUse = $this->resolveNameInUse($fullyQualified, $currentUses); if ($nameInUse instanceof Name) { return $nameInUse; } - return $this->nameImporter->importName($name, $file); + return $this->nameImporter->importName($fullyQualified, $file); } /** * @param Use_[]|GroupUse[] $currentUses */ - private function resolveNameInUse(Name $name, array $currentUses) : ?\PhpParser\Node\Name + private function resolveNameInUse(FullyQualified $fullyQualified, array $currentUses) : ?\PhpParser\Node\Name { - $originalName = $name->getAttribute(AttributeKey::ORIGINAL_NAME); - if (!$originalName instanceof FullyQualified) { - return null; - } - $aliasName = $this->aliasNameResolver->resolveByName($name, $currentUses); + $aliasName = $this->aliasNameResolver->resolveByName($fullyQualified, $currentUses); if (\is_string($aliasName)) { return new Name($aliasName); } - return $this->resolveLongNameInUseName($name, $currentUses); + return $this->resolveLongNameInUseName($fullyQualified, $currentUses); } /** * @param Use_[]|GroupUse[] $currentUses */ - private function resolveLongNameInUseName(Name $name, array $currentUses) : ?Name + private function resolveLongNameInUseName(FullyQualified $fullyQualified, array $currentUses) : ?Name { - if (\substr_count($name->toCodeString(), '\\') === 1) { + if (\substr_count($fullyQualified->toCodeString(), '\\') === 1) { return null; } - $lastName = $name->getLast(); + $lastName = $fullyQualified->getLast(); foreach ($currentUses as $currentUse) { foreach ($currentUse->uses as $useUse) { if ($useUse->name->getLast() !== $lastName) { diff --git a/rules/CodingStyle/ClassNameImport/ClassNameImportSkipper.php b/rules/CodingStyle/ClassNameImport/ClassNameImportSkipper.php index 30ce8c5bc249..e056ba2cbf4f 100644 --- a/rules/CodingStyle/ClassNameImport/ClassNameImportSkipper.php +++ b/rules/CodingStyle/ClassNameImport/ClassNameImportSkipper.php @@ -5,7 +5,7 @@ use PhpParser\Node; use PhpParser\Node\Identifier; -use PhpParser\Node\Name; +use PhpParser\Node\Name\FullyQualified; use PhpParser\Node\Stmt\GroupUse; use PhpParser\Node\Stmt\Use_; use PhpParser\Node\Stmt\UseUse; @@ -45,13 +45,13 @@ public function shouldSkipNameForFullyQualifiedObjectType(File $file, Node $node /** * @param Use_[]|GroupUse[] $uses */ - public function shouldSkipName(Name $name, array $uses) : bool + public function shouldSkipName(FullyQualified $fullyQualified, array $uses) : bool { - if (\substr_count($name->toCodeString(), '\\') <= 1) { + if (\substr_count($fullyQualified->toCodeString(), '\\') <= 1) { return \false; } - $stringName = $name->toString(); - $lastUseName = $name->getLast(); + $stringName = $fullyQualified->toString(); + $lastUseName = $fullyQualified->getLast(); $nameLastName = \strtolower($lastUseName); foreach ($uses as $use) { $prefix = $this->useImportsResolver->resolvePrefix($use); diff --git a/rules/CodingStyle/Node/NameImporter.php b/rules/CodingStyle/Node/NameImporter.php index 175e50abc9ef..278b652d1aad 100644 --- a/rules/CodingStyle/Node/NameImporter.php +++ b/rules/CodingStyle/Node/NameImporter.php @@ -4,6 +4,7 @@ namespace Rector\CodingStyle\Node; use PhpParser\Node\Name; +use PhpParser\Node\Name\FullyQualified; use Rector\CodingStyle\ClassNameImport\ClassNameImportSkipper; use Rector\Core\Configuration\Option; use Rector\Core\Configuration\Parameter\SimpleParameterProvider; @@ -35,48 +36,43 @@ public function __construct(ClassNameImportSkipper $classNameImportSkipper, Stat $this->staticTypeMapper = $staticTypeMapper; $this->useNodesToAddCollector = $useNodesToAddCollector; } - public function importName(Name $name, File $file) : ?Name + public function importName(FullyQualified $fullyQualified, File $file) : ?Name { - if ($this->shouldSkipName($name)) { + if ($this->shouldSkipName($fullyQualified)) { return null; } - $staticType = $this->staticTypeMapper->mapPhpParserNodePHPStanType($name); + $staticType = $this->staticTypeMapper->mapPhpParserNodePHPStanType($fullyQualified); if (!$staticType instanceof FullyQualifiedObjectType) { return null; } - return $this->importNameAndCollectNewUseStatement($file, $name, $staticType); + return $this->importNameAndCollectNewUseStatement($file, $fullyQualified, $staticType); } - private function shouldSkipName(Name $name) : bool + private function shouldSkipName(FullyQualified $fullyQualified) : bool { - $virtualNode = (bool) $name->getAttribute(AttributeKey::VIRTUAL_NODE); + $virtualNode = (bool) $fullyQualified->getAttribute(AttributeKey::VIRTUAL_NODE); if ($virtualNode) { return \true; } // is scalar name? - if (\in_array($name->toLowerString(), ['true', 'false', 'bool'], \true)) { + if (\in_array($fullyQualified->toLowerString(), ['true', 'false', 'bool'], \true)) { return \true; } - // namespace - // use ; - if ($this->isNamespaceOrUseImportName($name)) { - return \true; - } - if ($this->isFunctionOrConstantImportWithSingleName($name)) { + if ($this->isFunctionOrConstantImportWithSingleName($fullyQualified)) { return \true; } // Importing root namespace classes (like \DateTime) is optional if (!SimpleParameterProvider::provideBoolParameter(Option::IMPORT_SHORT_CLASSES)) { - $stringName = $name->toString(); + $stringName = $fullyQualified->toString(); if (\substr_count($stringName, '\\') === 0) { return \true; } } return \false; } - private function importNameAndCollectNewUseStatement(File $file, Name $name, FullyQualifiedObjectType $fullyQualifiedObjectType) : ?Name + private function importNameAndCollectNewUseStatement(File $file, FullyQualified $fullyQualified, FullyQualifiedObjectType $fullyQualifiedObjectType) : ?Name { // the same end is already imported → skip - if ($this->classNameImportSkipper->shouldSkipNameForFullyQualifiedObjectType($file, $name, $fullyQualifiedObjectType)) { + if ($this->classNameImportSkipper->shouldSkipNameForFullyQualifiedObjectType($file, $fullyQualified, $fullyQualifiedObjectType)) { return null; } if ($this->useNodesToAddCollector->isShortImported($file, $fullyQualifiedObjectType)) { @@ -85,39 +81,27 @@ private function importNameAndCollectNewUseStatement(File $file, Name $name, Ful } return null; } - $this->addUseImport($file, $name, $fullyQualifiedObjectType); + $this->addUseImport($file, $fullyQualified, $fullyQualifiedObjectType); return $fullyQualifiedObjectType->getShortNameNode(); } - /** - * Skip: - * - namespace name - * - use import name - */ - private function isNamespaceOrUseImportName(Name $name) : bool - { - if ($name->getAttribute(AttributeKey::IS_NAMESPACE_NAME) === \true) { - return \true; - } - return $name->getAttribute(AttributeKey::IS_USEUSE_NAME) === \true; - } - private function isFunctionOrConstantImportWithSingleName(Name $name) : bool + private function isFunctionOrConstantImportWithSingleName(FullyQualified $fullyQualified) : bool { - if ($name->getAttribute(AttributeKey::IS_CONSTFETCH_NAME) === \true) { - return \count($name->getParts()) === 1; + if ($fullyQualified->getAttribute(AttributeKey::IS_CONSTFETCH_NAME) === \true) { + return \count($fullyQualified->getParts()) === 1; } - if ($name->getAttribute(AttributeKey::IS_FUNCCALL_NAME) === \true) { - return \count($name->getParts()) === 1; + if ($fullyQualified->getAttribute(AttributeKey::IS_FUNCCALL_NAME) === \true) { + return \count($fullyQualified->getParts()) === 1; } return \false; } - private function addUseImport(File $file, Name $name, FullyQualifiedObjectType $fullyQualifiedObjectType) : void + private function addUseImport(File $file, FullyQualified $fullyQualified, FullyQualifiedObjectType $fullyQualifiedObjectType) : void { - if ($this->useNodesToAddCollector->hasImport($file, $name, $fullyQualifiedObjectType)) { + if ($this->useNodesToAddCollector->hasImport($file, $fullyQualified, $fullyQualifiedObjectType)) { return; } - if ($name->getAttribute(AttributeKey::IS_FUNCCALL_NAME) === \true) { + if ($fullyQualified->getAttribute(AttributeKey::IS_FUNCCALL_NAME) === \true) { $this->useNodesToAddCollector->addFunctionUseImport($fullyQualifiedObjectType); - } elseif ($name->getAttribute(AttributeKey::IS_CONSTFETCH_NAME) === \true) { + } elseif ($fullyQualified->getAttribute(AttributeKey::IS_CONSTFETCH_NAME) === \true) { $this->useNodesToAddCollector->addConstantUseImport($fullyQualifiedObjectType); } else { $this->useNodesToAddCollector->addUseImport($fullyQualifiedObjectType); diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index c6588ac17736..58e3d1069d28 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 = '1595e34d12d856eab8e2478de357f0b1dff3556f'; + public const PACKAGE_VERSION = '363ae1bd444c365e38aef1cfcd69324b734c3c9c'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-11-16 21:49:13'; + public const RELEASE_DATE = '2023-11-17 00:34:24'; /** * @var int */ diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 2bd355e65ada..231dd79b922a 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1382,26 +1382,26 @@ }, { "name": "react\/promise", - "version": "v2.10.0", - "version_normalized": "2.10.0.0", + "version": "v2.11.0", + "version_normalized": "2.11.0.0", "source": { "type": "git", "url": "https:\/\/github.com\/reactphp\/promise.git", - "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38" + "reference": "1a8460931ea36dc5c76838fec5734d55c88c6831" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/reactphp\/promise\/zipball\/f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", - "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", + "url": "https:\/\/api.github.com\/repos\/reactphp\/promise\/zipball\/1a8460931ea36dc5c76838fec5734d55c88c6831", + "reference": "1a8460931ea36dc5c76838fec5734d55c88c6831", "shasum": "" }, "require": { "php": ">=5.4.0" }, "require-dev": { - "phpunit\/phpunit": "^9.5 || ^5.7 || ^4.8.36" + "phpunit\/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, - "time": "2023-05-02T15:15:43+00:00", + "time": "2023-11-16T16:16:50+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1445,7 +1445,7 @@ ], "support": { "issues": "https:\/\/github.com\/reactphp\/promise\/issues", - "source": "https:\/\/github.com\/reactphp\/promise\/tree\/v2.10.0" + "source": "https:\/\/github.com\/reactphp\/promise\/tree\/v2.11.0" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 60aeb0a321ca..e74d4d1dfb09 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -2,4 +2,4 @@ namespace RectorPrefix202311; -return array('root' => array('name' => 'rector/rector-src', 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), '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.1', 'version' => '3.1.1.0', 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.4.0', 'version' => '3.4.0.0', 'reference' => '35e8d0af4486141bc745f23a29cc2091eb624a32', '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.8', 'version' => '2.0.8.0', 'reference' => 'f9301a5b2fb1216b2b08f02ba04dc45423db6bff', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.2', 'version' => '3.0.2.0', 'reference' => '0a16b0d71ab13284339abb99d9d2bd813640efbc', '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), 'illuminate/container' => array('pretty_version' => 'v10.32.1', 'version' => '10.32.1.0', 'reference' => 'ddc26273085fad3c471b2602ad820e0097ff7939', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/container', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/contracts' => array('pretty_version' => 'v10.32.1', 'version' => '10.32.1.0', 'reference' => 'f6bf37a272fda164f6c451407c99f820eb1eb95b', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.10', 'version' => '3.2.10.0', 'reference' => 'a4175c62652f2300c8017fb7e640f9ccb11648d2', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.17.1', 'version' => '4.17.1.0', 'reference' => 'a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d', '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.24.2', 'version' => '1.24.2.0', 'reference' => 'bcad8d995980440892759db0c32acae7c8e79442', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan' => array('dev_requirement' => \false, 'replaced' => array(0 => '^1.10.35')), '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/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')), 'psr/simple-cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), 'dev_requirement' => \false), '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.11.0', 'version' => '1.11.0.0', 'reference' => '3be0fc8f1eb37d6875cd6f0c6c7d0be81435de9f', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.5.0', 'version' => '1.5.0.0', 'reference' => 'bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.10.0', 'version' => '2.10.0.0', 'reference' => 'f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.14.0', 'version' => '1.14.0.0', 'reference' => '21591111d3ea62e31f2254280ca0656bc2b1bda6', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '6fbc9672905c7d5a885f2da2fc696f65840f4a66', '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 => 'dev-main')), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9de7d58cb2b3438a469a609457a92dd37a310acc', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'rector/rector-downgrade-php' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '89c94de72aac045e89368088af355663b9396696', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-downgrade-php', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9d85ec12514cc5dc3de835f524e77e20eb2404ae', '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(), 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '38014d41e7ccddfdc4c9c839931c68a57d931f63', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '5.0.3', 'version' => '5.0.3.0', 'reference' => '912dc2fbe3e3c1e7873313cc801b100b6c68c87b', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.3.8', 'version' => '6.3.8.0', 'reference' => '0d14a9f6d04d4ac38a8cea1171f4554e325dae92', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/filesystem' => array('pretty_version' => 'v6.3.1', 'version' => '6.3.1.0', 'reference' => 'edd36776956f2a6fcf577edb5b05eb0e3bdc52ae', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.3.5', 'version' => '6.3.5.0', 'reference' => 'a1b31d88c0e998168ca7792f222cbecee47428c4', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-ctype' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-grapheme' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/process' => array('pretty_version' => 'v6.3.4', 'version' => '6.3.4.0', 'reference' => '0b5c29118f2e980d455d2e34a5659f4579847c54', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => 'b3313c2dbffaf71c8de2934e2ea56ed2291a3838', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/string' => array('dev_requirement' => \false, 'replaced' => array(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), '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(), '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.1', 'version' => '3.1.1.0', 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/semver' => array('pretty_version' => '3.4.0', 'version' => '3.4.0.0', 'reference' => '35e8d0af4486141bc745f23a29cc2091eb624a32', '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.8', 'version' => '2.0.8.0', 'reference' => 'f9301a5b2fb1216b2b08f02ba04dc45423db6bff', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), 'dev_requirement' => \false), 'evenement/evenement' => array('pretty_version' => 'v3.0.2', 'version' => '3.0.2.0', 'reference' => '0a16b0d71ab13284339abb99d9d2bd813640efbc', '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), 'illuminate/container' => array('pretty_version' => 'v10.32.1', 'version' => '10.32.1.0', 'reference' => 'ddc26273085fad3c471b2602ad820e0097ff7939', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/container', 'aliases' => array(), 'dev_requirement' => \false), 'illuminate/contracts' => array('pretty_version' => 'v10.32.1', 'version' => '10.32.1.0', 'reference' => 'f6bf37a272fda164f6c451407c99f820eb1eb95b', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', 'aliases' => array(), 'dev_requirement' => \false), 'nette/utils' => array('pretty_version' => 'v3.2.10', 'version' => '3.2.10.0', 'reference' => 'a4175c62652f2300c8017fb7e640f9ccb11648d2', 'type' => 'library', 'install_path' => __DIR__ . '/../nette/utils', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.17.1', 'version' => '4.17.1.0', 'reference' => 'a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d', '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.24.2', 'version' => '1.24.2.0', 'reference' => 'bcad8d995980440892759db0c32acae7c8e79442', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpstan' => array('dev_requirement' => \false, 'replaced' => array(0 => '^1.10.35')), '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/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')), 'psr/simple-cache' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), 'dev_requirement' => \false), '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.11.0', 'version' => '1.11.0.0', 'reference' => '3be0fc8f1eb37d6875cd6f0c6c7d0be81435de9f', 'type' => 'library', 'install_path' => __DIR__ . '/../react/dns', 'aliases' => array(), 'dev_requirement' => \false), 'react/event-loop' => array('pretty_version' => 'v1.5.0', 'version' => '1.5.0.0', 'reference' => 'bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354', 'type' => 'library', 'install_path' => __DIR__ . '/../react/event-loop', 'aliases' => array(), 'dev_requirement' => \false), 'react/promise' => array('pretty_version' => 'v2.11.0', 'version' => '2.11.0.0', 'reference' => '1a8460931ea36dc5c76838fec5734d55c88c6831', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), 'dev_requirement' => \false), 'react/socket' => array('pretty_version' => 'v1.14.0', 'version' => '1.14.0.0', 'reference' => '21591111d3ea62e31f2254280ca0656bc2b1bda6', 'type' => 'library', 'install_path' => __DIR__ . '/../react/socket', 'aliases' => array(), 'dev_requirement' => \false), 'react/stream' => array('pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'reference' => '6fbc9672905c7d5a885f2da2fc696f65840f4a66', '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 => 'dev-main')), 'rector/rector-doctrine' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9de7d58cb2b3438a469a609457a92dd37a310acc', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-doctrine', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'rector/rector-downgrade-php' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '89c94de72aac045e89368088af355663b9396696', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-downgrade-php', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'rector/rector-phpunit' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '9d85ec12514cc5dc3de835f524e77e20eb2404ae', '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(), 'dev_requirement' => \false), 'rector/rector-symfony' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '38014d41e7ccddfdc4c9c839931c68a57d931f63', 'type' => 'rector-extension', 'install_path' => __DIR__ . '/../rector/rector-symfony', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => \false), 'sebastian/diff' => array('pretty_version' => '5.0.3', 'version' => '5.0.3.0', 'reference' => '912dc2fbe3e3c1e7873313cc801b100b6c68c87b', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.3.8', 'version' => '6.3.8.0', 'reference' => '0d14a9f6d04d4ac38a8cea1171f4554e325dae92', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/filesystem' => array('pretty_version' => 'v6.3.1', 'version' => '6.3.1.0', 'reference' => 'edd36776956f2a6fcf577edb5b05eb0e3bdc52ae', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.3.5', 'version' => '6.3.5.0', 'reference' => 'a1b31d88c0e998168ca7792f222cbecee47428c4', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-ctype' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-intl-grapheme' => array('dev_requirement' => \false, 'replaced' => array(0 => '*')), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/process' => array('pretty_version' => 'v6.3.4', 'version' => '6.3.4.0', 'reference' => '0b5c29118f2e980d455d2e34a5659f4579847c54', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => 'b3313c2dbffaf71c8de2934e2ea56ed2291a3838', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/string' => array('dev_requirement' => \false, 'replaced' => array(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), '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/react/promise/CHANGELOG.md b/vendor/react/promise/CHANGELOG.md index 7825b33971e2..fa6e8645de44 100644 --- a/vendor/react/promise/CHANGELOG.md +++ b/vendor/react/promise/CHANGELOG.md @@ -1,6 +1,15 @@ CHANGELOG for 2.x ================= +## 2.11.0 (2023-11-16) + +This is a compatibility release to ensure a smooth upgrade path for those not yet +on Promise v3. We encourage upgrading to the latest version when possible, as +Promise v3 will be the way forward for this project. + +* Feature: Full PHP 8.3 compatibility. + (#256 by @clue) + ## 2.10.0 (2023-05-02) * Feature: Support Disjunctive Normal Form Types (DNF types) for PHP 8.2+. diff --git a/vendor/react/promise/README.md b/vendor/react/promise/README.md index 9449b920d7d1..fd233c47d356 100644 --- a/vendor/react/promise/README.md +++ b/vendor/react/promise/README.md @@ -850,7 +850,7 @@ This project follows [SemVer](https://semver.org/). This will install the latest supported version: ```bash -composer require react/promise:^2.10 +composer require react/promise:^2.11 ``` See also the [CHANGELOG](CHANGELOG.md) for details about version upgrades. diff --git a/vendor/react/promise/composer.json b/vendor/react/promise/composer.json index 5d178d83ce1f..158a673e5034 100644 --- a/vendor/react/promise/composer.json +++ b/vendor/react/promise/composer.json @@ -28,7 +28,7 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit\/phpunit": "^9.5 || ^5.7 || ^4.8.36" + "phpunit\/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, "autoload": { "psr-4": { @@ -41,8 +41,8 @@ "autoload-dev": { "psr-4": { "RectorPrefix202311\\React\\Promise\\": [ - "tests", - "tests\/fixtures" + "tests\/", + "tests\/fixtures\/" ] } },