diff --git a/rules/EarlyReturn/Rector/Return_/ReturnBinaryOrToEarlyReturnRector.php b/rules/EarlyReturn/Rector/Return_/ReturnBinaryOrToEarlyReturnRector.php index eba0f4d0bb0..d704b64ccdf 100644 --- a/rules/EarlyReturn/Rector/Return_/ReturnBinaryOrToEarlyReturnRector.php +++ b/rules/EarlyReturn/Rector/Return_/ReturnBinaryOrToEarlyReturnRector.php @@ -3,13 +3,13 @@ declare (strict_types=1); namespace Rector\EarlyReturn\Rector\Return_; -use PHPStan\Analyser\Scope; use PhpParser\Node; use PhpParser\Node\Expr; use PhpParser\Node\Expr\BinaryOp\BooleanAnd; use PhpParser\Node\Expr\BinaryOp\BooleanOr; use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\Return_; +use PHPStan\Analyser\Scope; use Rector\Core\NodeAnalyzer\CallAnalyzer; use Rector\Core\NodeManipulator\IfManipulator; use Rector\Core\PhpParser\Node\AssignAndBinaryMap; diff --git a/rules/Php70/Enum/BattleshipCompareOrder.php b/rules/Php70/Enum/BattleshipCompareOrder.php new file mode 100644 index 00000000000..a21a905f732 --- /dev/null +++ b/rules/Php70/Enum/BattleshipCompareOrder.php @@ -0,0 +1,16 @@ +nodeComparator = $nodeComparator; + $this->valueResolver = $valueResolver; + } + /** + * @return BattleshipCompareOrder::*|null + */ + public function isGreaterLowerCompareReturnOneAndMinusOne(Ternary $ternary, ComparedExprs $comparedExprs) : ?string + { + if (!$ternary->if instanceof Expr) { + return null; + } + if ($ternary->cond instanceof Greater) { + return $this->evaluateGreater($ternary->cond, $ternary, $comparedExprs); + } + if ($ternary->cond instanceof Smaller) { + return $this->evaluateSmaller($ternary->cond, $ternary, $comparedExprs); + } + return null; + } + /** + * We look for: + * + * $firstValue > $secondValue ? 1 : -1 + * + * @return BattleshipCompareOrder::*|null + */ + private function evaluateGreater(Greater $greater, Ternary $ternary, ComparedExprs $comparedExprs) : ?string + { + if (!$ternary->if instanceof Expr) { + return null; + } + if (!$this->nodeComparator->areNodesEqual($greater->left, $comparedExprs->getFirstExpr())) { + return null; + } + if (!$this->nodeComparator->areNodesEqual($greater->right, $comparedExprs->getSecondExpr())) { + return null; + } + if ($this->isValueOneAndMinusOne($ternary->if, $ternary->else)) { + return BattleshipCompareOrder::DESC; + } + if ($this->isValueOneAndMinusOne($ternary->else, $ternary->if)) { + return BattleshipCompareOrder::ASC; + } + return null; + } + /** + * We look for: + * + * $firstValue < $secondValue ? -1 : 1 + * + * @return BattleshipCompareOrder::*|null + */ + private function evaluateSmaller(Smaller $smaller, Ternary $ternary, ComparedExprs $comparedExprs) : ?string + { + if (!$ternary->if instanceof Expr) { + return null; + } + if (!$this->nodeComparator->areNodesEqual($smaller->left, $comparedExprs->getFirstExpr())) { + return null; + } + if (!$this->nodeComparator->areNodesEqual($smaller->right, $comparedExprs->getSecondExpr())) { + return null; + } + if ($this->isValueOneAndMinusOne($ternary->if, $ternary->else)) { + return BattleshipCompareOrder::ASC; + } + if ($this->isValueOneAndMinusOne($ternary->else, $ternary->if)) { + return BattleshipCompareOrder::DESC; + } + return null; + } + private function isValueOneAndMinusOne(Expr $firstExpr, Expr $seconcExpr) : bool + { + if (!$this->valueResolver->isValue($firstExpr, 1)) { + return \false; + } + return $this->valueResolver->isValue($seconcExpr, -1); + } +} diff --git a/rules/Php70/Rector/If_/IfToSpaceshipRector.php b/rules/Php70/Rector/If_/IfToSpaceshipRector.php index 5d4762e09da..4a7fdfb3cc7 100644 --- a/rules/Php70/Rector/If_/IfToSpaceshipRector.php +++ b/rules/Php70/Rector/If_/IfToSpaceshipRector.php @@ -6,17 +6,18 @@ namespace Rector\Php70\Rector\If_; use PhpParser\Node; use PhpParser\Node\Expr; use PhpParser\Node\Expr\BinaryOp\Equal; -use PhpParser\Node\Expr\BinaryOp\Greater; use PhpParser\Node\Expr\BinaryOp\Identical; -use PhpParser\Node\Expr\BinaryOp\Smaller; use PhpParser\Node\Expr\BinaryOp\Spaceship; use PhpParser\Node\Expr\Ternary; use PhpParser\Node\Stmt\Else_; use PhpParser\Node\Stmt\If_; use PhpParser\Node\Stmt\Return_; +use Rector\Core\Contract\PhpParser\Node\StmtsAwareInterface; use Rector\Core\Rector\AbstractRector; use Rector\Core\ValueObject\PhpVersionFeature; -use Rector\NodeTypeResolver\Node\AttributeKey; +use Rector\Php70\Enum\BattleshipCompareOrder; +use Rector\Php70\NodeAnalyzer\BattleshipTernaryAnalyzer; +use Rector\Php70\ValueObject\ComparedExprs; use Rector\VersionBonding\Contract\MinPhpVersionInterface; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; @@ -28,60 +29,29 @@ use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; final class IfToSpaceshipRector extends AbstractRector implements MinPhpVersionInterface { /** - * @var int|float|string|bool|mixed[]|null + * @readonly + * @var \Rector\Php70\NodeAnalyzer\BattleshipTernaryAnalyzer */ - private $onEqual = null; - /** - * @var int|float|string|bool|mixed[]|null - */ - private $onSmaller = null; - /** - * @var int|float|string|bool|mixed[]|null - */ - private $onGreater = null; - /** - * @var \PhpParser\Node\Expr|null - */ - private $firstValue; - /** - * @var \PhpParser\Node\Expr|null - */ - private $secondValue; - /** - * @var \PhpParser\Node|null - */ - private $nextNode = null; - /** - * @var \PhpParser\Node\Expr\Ternary|null - */ - private $ternary = null; + private $battleshipTernaryAnalyzer; + public function __construct(BattleshipTernaryAnalyzer $battleshipTernaryAnalyzer) + { + $this->battleshipTernaryAnalyzer = $battleshipTernaryAnalyzer; + } public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('Changes if/else to spaceship <=> where useful', [new CodeSample(<<<'CODE_SAMPLE' -class SomeClass -{ - public function run() - { - usort($languages, function ($a, $b) { - if ($a[0] === $b[0]) { - return 0; - } - - return ($a[0] < $b[0]) ? 1 : -1; - }); - } +usort($languages, function ($first, $second) { +if ($first[0] === $second[0]) { + return 0; } + +return ($first[0] < $second[0]) ? 1 : -1; +}); CODE_SAMPLE , <<<'CODE_SAMPLE' -class SomeClass -{ - public function run() - { - usort($languages, function ($a, $b) { - return $b[0] <=> $a[0]; - }); - } -} +usort($languages, function ($first, $second) { +return $second[0] <=> $first[0]; +}); CODE_SAMPLE )]); } @@ -90,31 +60,43 @@ CODE_SAMPLE */ public function getNodeTypes() : array { - return [If_::class]; + return [StmtsAwareInterface::class, If_::class]; } /** - * @param If_ $node + * @param StmtsAwareInterface|If_ $node */ public function refactor(Node $node) : ?Node { - if (!$node->cond instanceof Equal && !$node->cond instanceof Identical) { + if ($node instanceof If_) { + return $this->refactorIf($node); + } + if ($node->stmts === null) { return null; } - $this->reset(); - $this->matchOnEqualFirstValueAndSecondValue($node); - if (!isset($this->firstValue, $this->secondValue)) { - return null; - } - /** @var Equal|Identical $condition */ - $condition = $node->cond; - if (!$this->areVariablesEqual($condition, $this->firstValue, $this->secondValue)) { - return null; - } - if ([$this->onGreater, $this->onEqual, $this->onSmaller] === [1, 0, -1]) { - return $this->processAscendingSort($this->ternary, $this->firstValue, $this->secondValue); - } - if ([$this->onGreater, $this->onEqual, $this->onSmaller] === [-1, 0, 1]) { - return $this->processDescendingSort($this->ternary, $this->firstValue, $this->secondValue); + foreach ($node->stmts as $key => $stmt) { + if (!$stmt instanceof Return_) { + continue; + } + if (!$stmt->expr instanceof Ternary) { + continue; + } + // preceeded by if + $prevStmt = $node->stmts[$key - 1] ?? null; + if (!$prevStmt instanceof If_) { + continue; + } + $comparedExprs = $this->matchExprComparedExprsReturnZero($prevStmt); + if (!$comparedExprs instanceof ComparedExprs) { + continue; + } + $battleshipCompareOrder = $this->battleshipTernaryAnalyzer->isGreaterLowerCompareReturnOneAndMinusOne($stmt->expr, $comparedExprs); + $returnSpaceship = $this->createReturnSpaceship($battleshipCompareOrder, $comparedExprs); + if (!$returnSpaceship instanceof Return_) { + continue; + } + unset($node->stmts[$key - 1]); + $node->stmts[$key] = $returnSpaceship; + return $node; } return null; } @@ -122,114 +104,80 @@ CODE_SAMPLE { return PhpVersionFeature::SPACESHIP; } - private function processReturnSpaceship(Expr $firstValue, Expr $secondValue) : Return_ + private function refactorIf(If_ $if) : ?Return_ { - if ($this->nextNode instanceof Return_) { - $this->removeNode($this->nextNode); + if ($if->elseifs !== []) { + return null; } - // spaceship ready! - $spaceship = new Spaceship($secondValue, $firstValue); - return new Return_($spaceship); - } - private function reset() : void - { - $this->onEqual = null; - $this->onSmaller = null; - $this->onGreater = null; - $this->firstValue = null; - $this->secondValue = null; - } - private function matchOnEqualFirstValueAndSecondValue(If_ $if) : void - { - $this->matchOnEqual($if); - if ($if->else instanceof Else_) { - $this->processElse($if->else); - } else { - $nextNode = $if->getAttribute(AttributeKey::NEXT_NODE); - if ($nextNode instanceof Return_ && $nextNode->expr instanceof Ternary) { - $this->ternary = $nextNode->expr; - $this->processTernary($this->ternary, $nextNode); - } + if (!$if->else instanceof Else_) { + return null; } + $comparedExprs = $this->matchExprComparedExprsReturnZero($if); + if (!$comparedExprs instanceof ComparedExprs) { + return null; + } + $ternary = $this->matchElseOnlyStmtTernary($if->else); + if (!$ternary instanceof Ternary) { + return null; + } + $battleshipCompareOrder = $this->battleshipTernaryAnalyzer->isGreaterLowerCompareReturnOneAndMinusOne($ternary, $comparedExprs); + return $this->createReturnSpaceship($battleshipCompareOrder, $comparedExprs); } /** - * @param \PhpParser\Node\Expr\BinaryOp\Equal|\PhpParser\Node\Expr\BinaryOp\Identical $binaryOp + * We look for: + * + * if ($firstValue === $secondValue) { + * return 0; + * } */ - private function areVariablesEqual($binaryOp, Expr $firstValue, Expr $secondValue) : bool + private function matchExprComparedExprsReturnZero(If_ $if) : ?ComparedExprs { - if ($this->nodeComparator->areNodesEqual($binaryOp->left, $firstValue) && $this->nodeComparator->areNodesEqual($binaryOp->right, $secondValue)) { - return \true; + if (!$if->cond instanceof Equal && !$if->cond instanceof Identical) { + return null; } - if (!$this->nodeComparator->areNodesEqual($binaryOp->right, $firstValue)) { - return \false; - } - return $this->nodeComparator->areNodesEqual($binaryOp->left, $secondValue); - } - private function matchOnEqual(If_ $if) : void - { + $binaryOp = $if->cond; if (\count($if->stmts) !== 1) { - return; + return null; } - $onlyIfStmt = $if->stmts[0]; - if ($onlyIfStmt instanceof Return_) { - if (!$onlyIfStmt->expr instanceof Expr) { - return; - } - // on Enum usage not in same file, it got object - $value = $this->valueResolver->getValue($onlyIfStmt->expr); - if (\is_object($value)) { - return; - } - $this->onEqual = $value; + $onlyStmt = $if->stmts[0]; + if (!$onlyStmt instanceof Return_) { + return null; } + if (!$onlyStmt->expr instanceof Expr) { + return null; + } + if (!$this->valueResolver->isValue($onlyStmt->expr, 0)) { + return null; + } + return new ComparedExprs($binaryOp->left, $binaryOp->right); } - private function processElse(Else_ $else) : void + /** + * @param BattleshipCompareOrder::*|null $battleshipCompareOrder + */ + private function createReturnSpaceship(?string $battleshipCompareOrder, ComparedExprs $comparedExprs) : ?Return_ + { + if ($battleshipCompareOrder === null) { + return null; + } + if ($battleshipCompareOrder === BattleshipCompareOrder::DESC) { + $spaceship = new Spaceship($comparedExprs->getFirstExpr(), $comparedExprs->getSecondExpr()); + } else { + $spaceship = new Spaceship($comparedExprs->getSecondExpr(), $comparedExprs->getFirstExpr()); + } + return new Return_($spaceship); + } + private function matchElseOnlyStmtTernary(Else_ $else) : ?\PhpParser\Node\Expr\Ternary { if (\count($else->stmts) !== 1) { - return; + return null; } - if (!$else->stmts[0] instanceof Return_) { - return; + $onlyElseStmt = $else->stmts[0]; + if (!$onlyElseStmt instanceof Return_) { + return null; } - /** @var Return_ $returnNode */ - $returnNode = $else->stmts[0]; - if ($returnNode->expr instanceof Ternary) { - $this->ternary = $returnNode->expr; - $this->processTernary($returnNode->expr, null); + if (!$onlyElseStmt->expr instanceof Ternary) { + return null; } - } - private function processTernary(Ternary $ternary, ?Return_ $return) : void - { - if ($ternary->cond instanceof Smaller) { - $this->firstValue = $ternary->cond->left; - $this->secondValue = $ternary->cond->right; - if ($ternary->if instanceof Expr) { - $this->onSmaller = $this->valueResolver->getValue($ternary->if); - } - $this->onGreater = $this->valueResolver->getValue($ternary->else); - $this->nextNode = $return; - } elseif ($ternary->cond instanceof Greater) { - $this->firstValue = $ternary->cond->right; - $this->secondValue = $ternary->cond->left; - if ($ternary->if instanceof Expr) { - $this->onGreater = $this->valueResolver->getValue($ternary->if); - } - $this->onSmaller = $this->valueResolver->getValue($ternary->else); - $this->nextNode = $return; - } - } - private function processAscendingSort(?Ternary $ternary, Expr $firstValue, Expr $secondValue) : Return_ - { - if ($ternary instanceof Ternary && !$ternary->cond instanceof Greater) { - return $this->processReturnSpaceship($secondValue, $firstValue); - } - return $this->processReturnSpaceship($firstValue, $secondValue); - } - private function processDescendingSort(?Ternary $ternary, Expr $firstValue, Expr $secondValue) : Return_ - { - if ($ternary instanceof Ternary && !$ternary->cond instanceof Smaller) { - return $this->processReturnSpaceship($secondValue, $firstValue); - } - return $this->processReturnSpaceship($firstValue, $secondValue); + return $onlyElseStmt->expr; } } diff --git a/rules/Php70/ValueObject/ComparedExprs.php b/rules/Php70/ValueObject/ComparedExprs.php new file mode 100644 index 00000000000..985fa725dc9 --- /dev/null +++ b/rules/Php70/ValueObject/ComparedExprs.php @@ -0,0 +1,32 @@ +firstExpr = $firstExpr; + $this->secondExpr = $secondExpr; + } + public function getFirstExpr() : Expr + { + return $this->firstExpr; + } + public function getSecondExpr() : Expr + { + return $this->secondExpr; + } +} diff --git a/rules/Transform/Rector/Assign/GetAndSetToMethodCallRector.php b/rules/Transform/Rector/Assign/GetAndSetToMethodCallRector.php index 62b34b649cb..9259f8b99fd 100644 --- a/rules/Transform/Rector/Assign/GetAndSetToMethodCallRector.php +++ b/rules/Transform/Rector/Assign/GetAndSetToMethodCallRector.php @@ -14,7 +14,6 @@ use PHPStan\Type\ObjectType; use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\NodeAnalyzer\PropertyFetchAnalyzer; use Rector\Core\NodeManipulator\MagicPropertyFetchAnalyzer; -use Rector\Core\Rector\AbstractRector; use Rector\Core\Rector\AbstractScopeAwareRector; use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\Transform\ValueObject\GetAndSetToMethodCall; diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index e0f0cb434e2..d5ec808f0f8 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 = 'c0a042c3b68eb657d7e525ae2c2648d0ec96fb19'; + public const PACKAGE_VERSION = 'd2ae72e1fe616bb5c2d98c497a59991cfb5cca55'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-05-16 12:32:32'; + public const RELEASE_DATE = '2023-05-16 12:46:18'; /** * @var int */ diff --git a/src/Kernel/RectorKernel.php b/src/Kernel/RectorKernel.php index 90bd9298b6a..f2c18212fa7 100644 --- a/src/Kernel/RectorKernel.php +++ b/src/Kernel/RectorKernel.php @@ -15,7 +15,7 @@ final class RectorKernel /** * @var string */ - private const CACHE_KEY = 'v8'; + private const CACHE_KEY = 'v9'; /** * @var \Symfony\Component\DependencyInjection\ContainerInterface|null */ diff --git a/vendor/autoload.php b/vendor/autoload.php index bf3825cd55c..29d89047094 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 ComposerAutoloaderInitbecc49e92c90914d9f48d7a2c7da99f5::getLoader(); +return ComposerAutoloaderInit527c958222df83203b5281f72b24c52b::getLoader(); diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index d53826b7fc1..ee3abf4b870 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2171,8 +2171,10 @@ return array( 'Rector\\Php56\\NodeAnalyzer\\UndefinedVariableResolver' => $baseDir . '/rules/Php56/NodeAnalyzer/UndefinedVariableResolver.php', 'Rector\\Php56\\Rector\\FuncCall\\PowToExpRector' => $baseDir . '/rules/Php56/Rector/FuncCall/PowToExpRector.php', 'Rector\\Php56\\Rector\\FunctionLike\\AddDefaultValueForUndefinedVariableRector' => $baseDir . '/rules/Php56/Rector/FunctionLike/AddDefaultValueForUndefinedVariableRector.php', + 'Rector\\Php70\\Enum\\BattleshipCompareOrder' => $baseDir . '/rules/Php70/Enum/BattleshipCompareOrder.php', 'Rector\\Php70\\EregToPcreTransformer' => $baseDir . '/rules/Php70/EregToPcreTransformer.php', 'Rector\\Php70\\Exception\\InvalidEregException' => $baseDir . '/rules/Php70/Exception/InvalidEregException.php', + 'Rector\\Php70\\NodeAnalyzer\\BattleshipTernaryAnalyzer' => $baseDir . '/rules/Php70/NodeAnalyzer/BattleshipTernaryAnalyzer.php', 'Rector\\Php70\\NodeAnalyzer\\Php4ConstructorClassMethodAnalyzer' => $baseDir . '/rules/Php70/NodeAnalyzer/Php4ConstructorClassMethodAnalyzer.php', 'Rector\\Php70\\Rector\\Assign\\ListSplitStringRector' => $baseDir . '/rules/Php70/Rector/Assign/ListSplitStringRector.php', 'Rector\\Php70\\Rector\\Assign\\ListSwapArrayOrderRector' => $baseDir . '/rules/Php70/Rector/Assign/ListSwapArrayOrderRector.php', @@ -2192,6 +2194,7 @@ return array( 'Rector\\Php70\\Rector\\Ternary\\TernaryToNullCoalescingRector' => $baseDir . '/rules/Php70/Rector/Ternary/TernaryToNullCoalescingRector.php', 'Rector\\Php70\\Rector\\Ternary\\TernaryToSpaceshipRector' => $baseDir . '/rules/Php70/Rector/Ternary/TernaryToSpaceshipRector.php', 'Rector\\Php70\\Rector\\Variable\\WrapVariableVariableNameInCurlyBracesRector' => $baseDir . '/rules/Php70/Rector/Variable/WrapVariableVariableNameInCurlyBracesRector.php', + 'Rector\\Php70\\ValueObject\\ComparedExprs' => $baseDir . '/rules/Php70/ValueObject/ComparedExprs.php', 'Rector\\Php71\\IsArrayAndDualCheckToAble' => $baseDir . '/rules/Php71/IsArrayAndDualCheckToAble.php', 'Rector\\Php71\\NodeAnalyzer\\CountableAnalyzer' => $baseDir . '/rules/Php71/NodeAnalyzer/CountableAnalyzer.php', 'Rector\\Php71\\Rector\\Assign\\AssignArrayToStringRector' => $baseDir . '/rules/Php71/Rector/Assign/AssignArrayToStringRector.php', diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index b70909c6887..f4337798b7e 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInitbecc49e92c90914d9f48d7a2c7da99f5 +class ComposerAutoloaderInit527c958222df83203b5281f72b24c52b { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInitbecc49e92c90914d9f48d7a2c7da99f5 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitbecc49e92c90914d9f48d7a2c7da99f5', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit527c958222df83203b5281f72b24c52b', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInitbecc49e92c90914d9f48d7a2c7da99f5', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit527c958222df83203b5281f72b24c52b', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit527c958222df83203b5281f72b24c52b::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit527c958222df83203b5281f72b24c52b::$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 ea39e4053e0..251c1821333 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5 +class ComposerStaticInit527c958222df83203b5281f72b24c52b { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -2413,8 +2413,10 @@ class ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5 'Rector\\Php56\\NodeAnalyzer\\UndefinedVariableResolver' => __DIR__ . '/../..' . '/rules/Php56/NodeAnalyzer/UndefinedVariableResolver.php', 'Rector\\Php56\\Rector\\FuncCall\\PowToExpRector' => __DIR__ . '/../..' . '/rules/Php56/Rector/FuncCall/PowToExpRector.php', 'Rector\\Php56\\Rector\\FunctionLike\\AddDefaultValueForUndefinedVariableRector' => __DIR__ . '/../..' . '/rules/Php56/Rector/FunctionLike/AddDefaultValueForUndefinedVariableRector.php', + 'Rector\\Php70\\Enum\\BattleshipCompareOrder' => __DIR__ . '/../..' . '/rules/Php70/Enum/BattleshipCompareOrder.php', 'Rector\\Php70\\EregToPcreTransformer' => __DIR__ . '/../..' . '/rules/Php70/EregToPcreTransformer.php', 'Rector\\Php70\\Exception\\InvalidEregException' => __DIR__ . '/../..' . '/rules/Php70/Exception/InvalidEregException.php', + 'Rector\\Php70\\NodeAnalyzer\\BattleshipTernaryAnalyzer' => __DIR__ . '/../..' . '/rules/Php70/NodeAnalyzer/BattleshipTernaryAnalyzer.php', 'Rector\\Php70\\NodeAnalyzer\\Php4ConstructorClassMethodAnalyzer' => __DIR__ . '/../..' . '/rules/Php70/NodeAnalyzer/Php4ConstructorClassMethodAnalyzer.php', 'Rector\\Php70\\Rector\\Assign\\ListSplitStringRector' => __DIR__ . '/../..' . '/rules/Php70/Rector/Assign/ListSplitStringRector.php', 'Rector\\Php70\\Rector\\Assign\\ListSwapArrayOrderRector' => __DIR__ . '/../..' . '/rules/Php70/Rector/Assign/ListSwapArrayOrderRector.php', @@ -2434,6 +2436,7 @@ class ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5 'Rector\\Php70\\Rector\\Ternary\\TernaryToNullCoalescingRector' => __DIR__ . '/../..' . '/rules/Php70/Rector/Ternary/TernaryToNullCoalescingRector.php', 'Rector\\Php70\\Rector\\Ternary\\TernaryToSpaceshipRector' => __DIR__ . '/../..' . '/rules/Php70/Rector/Ternary/TernaryToSpaceshipRector.php', 'Rector\\Php70\\Rector\\Variable\\WrapVariableVariableNameInCurlyBracesRector' => __DIR__ . '/../..' . '/rules/Php70/Rector/Variable/WrapVariableVariableNameInCurlyBracesRector.php', + 'Rector\\Php70\\ValueObject\\ComparedExprs' => __DIR__ . '/../..' . '/rules/Php70/ValueObject/ComparedExprs.php', 'Rector\\Php71\\IsArrayAndDualCheckToAble' => __DIR__ . '/../..' . '/rules/Php71/IsArrayAndDualCheckToAble.php', 'Rector\\Php71\\NodeAnalyzer\\CountableAnalyzer' => __DIR__ . '/../..' . '/rules/Php71/NodeAnalyzer/CountableAnalyzer.php', 'Rector\\Php71\\Rector\\Assign\\AssignArrayToStringRector' => __DIR__ . '/../..' . '/rules/Php71/Rector/Assign/AssignArrayToStringRector.php', @@ -3103,9 +3106,9 @@ class ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitbecc49e92c90914d9f48d7a2c7da99f5::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit527c958222df83203b5281f72b24c52b::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit527c958222df83203b5281f72b24c52b::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit527c958222df83203b5281f72b24c52b::$classMap; }, null, ClassLoader::class); }