From 09776f16ae685b7c157acdeb6164cbe561008b05 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Mon, 20 Dec 2021 12:16:44 +0000 Subject: [PATCH] Updated Rector to commit 2a18c59a0c0d7e56cb80c8fedfeb4452745e5501 https://github.com/rectorphp/rector-src/commit/2a18c59a0c0d7e56cb80c8fedfeb4452745e5501 [DowngradePhp80] Add DowngradeReflectionClassGetConstantsFilterRector (#1529) --- config/set/downgrade-php80.php | 2 + .../NodeAnalyzer/BitwiseOrAnalyzer.php | 29 +++ .../NodeAnalyzer/BooleanAndAnalyzer.php | 1 + ...eflectionClassGetConstantsFilterRector.php | 219 ++++++++++++++++++ src/Application/VersionResolver.php | 4 +- .../ConfigureCallValuesCollector.php | 19 +- vendor/autoload.php | 2 +- vendor/composer/autoload_classmap.php | 2 + vendor/composer/autoload_real.php | 14 +- vendor/composer/autoload_static.php | 10 +- vendor/scoper-autoload.php | 10 +- 11 files changed, 287 insertions(+), 25 deletions(-) create mode 100644 packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php create mode 100644 rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php diff --git a/config/set/downgrade-php80.php b/config/set/downgrade-php80.php index 0fa02d03645..6532fca071a 100644 --- a/config/set/downgrade-php80.php +++ b/config/set/downgrade-php80.php @@ -23,6 +23,7 @@ use Rector\DowngradePhp80\Rector\FunctionLike\DowngradeMixedTypeDeclarationRecto use Rector\DowngradePhp80\Rector\FunctionLike\DowngradeUnionTypeDeclarationRector; use Rector\DowngradePhp80\Rector\Instanceof_\DowngradePhp80ResourceReturnToObjectRector; use Rector\DowngradePhp80\Rector\MethodCall\DowngradeNamedArgumentRector; +use Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionClassGetConstantsFilterRector; use Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionGetAttributesRector; use Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionPropertyGetDefaultValueRector; use Rector\DowngradePhp80\Rector\New_\DowngradeArbitraryExpressionsSupportRector; @@ -69,4 +70,5 @@ return static function (\Symfony\Component\DependencyInjection\Loader\Configurat $services->set(\Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionGetAttributesRector::class); $services->set(\Rector\DowngradePhp80\Rector\ClassMethod\DowngradeRecursiveDirectoryIteratorHasChildrenRector::class); $services->set(\Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionPropertyGetDefaultValueRector::class); + $services->set(\Rector\DowngradePhp80\Rector\MethodCall\DowngradeReflectionClassGetConstantsFilterRector::class); }; diff --git a/packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php b/packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php new file mode 100644 index 00000000000..9d9e7be559c --- /dev/null +++ b/packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php @@ -0,0 +1,29 @@ +right; + $bitwiseOr = $bitwiseOr->left; + if (!$bitwiseOr instanceof \PhpParser\Node\Expr\BinaryOp\BitwiseOr) { + $conditions[] = $bitwiseOr; + break; + } + } + \krsort($conditions); + return $conditions; + } +} diff --git a/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php b/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php index c12bd02745f..cfc126b3561 100644 --- a/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php +++ b/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php @@ -14,6 +14,7 @@ final class BooleanAndAnalyzer public function findBooleanAndConditions(\PhpParser\Node\Expr\BinaryOp\BooleanAnd $booleanAnd) : array { $conditions = []; + /** @var BinaryOp|Expr $booleanAnd */ while ($booleanAnd instanceof \PhpParser\Node\Expr\BinaryOp) { $conditions[] = $booleanAnd->right; $booleanAnd = $booleanAnd->left; diff --git a/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php b/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php new file mode 100644 index 00000000000..dbd7fb0202a --- /dev/null +++ b/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php @@ -0,0 +1,219 @@ + + */ + private const MAP_CONSTANT_TO_METHOD = ['IS_PUBLIC' => 'isPublic', 'IS_PROTECTED' => 'isProtected', 'IS_PRIVATE' => 'isPrivate']; + /** + * @readonly + * @var \Rector\Naming\Naming\VariableNaming + */ + private $variableNaming; + /** + * @readonly + * @var \Rector\Core\NodeManipulator\IfManipulator + */ + private $ifManipulator; + /** + * @readonly + * @var \Rector\NodeCollector\NodeAnalyzer\BitwiseOrAnalyzer + */ + private $bitwiseOrAnalyzer; + public function __construct(\Rector\Naming\Naming\VariableNaming $variableNaming, \Rector\Core\NodeManipulator\IfManipulator $ifManipulator, \Rector\NodeCollector\NodeAnalyzer\BitwiseOrAnalyzer $bitwiseOrAnalyzer) + { + $this->variableNaming = $variableNaming; + $this->ifManipulator = $ifManipulator; + $this->bitwiseOrAnalyzer = $bitwiseOrAnalyzer; + } + /** + * @return array> + */ + public function getNodeTypes() : array + { + return [\PhpParser\Node\Expr\MethodCall::class]; + } + public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition + { + return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Downgrade ReflectionClass->getConstants(ReflectionClassConstant::IS_*)', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE' +$reflectionClass = new ReflectionClass('SomeClass'); +$constants = $reflectionClass->getConstants(ReflectionClassConstant::IS_PUBLIC)); +CODE_SAMPLE +, <<<'CODE_SAMPLE' +$reflectionClass = new ReflectionClass('SomeClass'); +$reflectionClassConstants = $reflectionClass->getReflectionConstants(); +$result = []; +array_walk($reflectionClassConstants, function ($value) use (&$result) { + if ($value->isPublic()) { + $result[$value->getName()] = $value->getValue(); + } +}); +$constants = $result; +CODE_SAMPLE +)]); + } + /** + * @param MethodCall $node + */ + public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node + { + if ($this->shouldSkip($node)) { + return null; + } + $args = $node->getArgs(); + $value = $args[0]->value; + if (!\in_array(\get_class($value), [\PhpParser\Node\Expr\ClassConstFetch::class, \PhpParser\Node\Expr\BinaryOp\BitwiseOr::class], \true)) { + return null; + } + $classConstFetchNames = []; + if ($value instanceof \PhpParser\Node\Expr\ClassConstFetch) { + $classConstFetchName = $this->resolveClassConstFetchName($value); + if (\is_string($classConstFetchName)) { + $classConstFetchNames = [$classConstFetchName]; + } + } + if ($value instanceof \PhpParser\Node\Expr\BinaryOp\BitwiseOr) { + $classConstFetchNames = $this->resolveClassConstFetchNames($value); + } + if ($classConstFetchNames !== []) { + return $this->processClassConstFetches($node, $classConstFetchNames); + } + return null; + } + /** + * @param string[] $classConstFetchNames + */ + private function processClassConstFetches(\PhpParser\Node\Expr\MethodCall $methodCall, array $classConstFetchNames) : ?\PhpParser\Node\Expr\Variable + { + $scope = $methodCall->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::SCOPE); + $reflectionClassConstants = $this->variableNaming->createCountedValueName('reflectionClassConstants', $scope); + $currentStmt = $methodCall->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::CURRENT_STATEMENT); + if (!$currentStmt instanceof \PhpParser\Node\Stmt) { + return null; + } + $variableReflectionClassConstants = new \PhpParser\Node\Expr\Variable($this->variableNaming->createCountedValueName($reflectionClassConstants, $scope)); + $assign = new \PhpParser\Node\Expr\Assign($variableReflectionClassConstants, new \PhpParser\Node\Expr\MethodCall($methodCall->var, 'getReflectionConstants')); + $this->addNodeBeforeNode(new \PhpParser\Node\Stmt\Expression($assign), $currentStmt); + $result = $this->variableNaming->createCountedValueName('result', $scope); + $variableResult = new \PhpParser\Node\Expr\Variable($result); + $assignVariableResult = new \PhpParser\Node\Expr\Assign($variableResult, new \PhpParser\Node\Expr\Array_()); + $this->addNodeBeforeNode(new \PhpParser\Node\Stmt\Expression($assignVariableResult), $currentStmt); + $ifs = []; + $valueVariable = new \PhpParser\Node\Expr\Variable('value'); + $key = new \PhpParser\Node\Expr\MethodCall($valueVariable, 'getName'); + $value = new \PhpParser\Node\Expr\MethodCall($valueVariable, 'getValue'); + $arrayDimFetch = new \PhpParser\Node\Expr\ArrayDimFetch($variableResult, $key); + $assignValue = $value; + foreach ($classConstFetchNames as $classConstFetchName) { + $methodCallName = self::MAP_CONSTANT_TO_METHOD[$classConstFetchName]; + $ifs[] = $this->ifManipulator->createIfExpr(new \PhpParser\Node\Expr\MethodCall($valueVariable, $methodCallName), new \PhpParser\Node\Stmt\Expression(new \PhpParser\Node\Expr\Assign($arrayDimFetch, $assignValue))); + } + $closure = new \PhpParser\Node\Expr\Closure(); + $closure->params = [new \PhpParser\Node\Param(new \PhpParser\Node\Expr\Variable('value'))]; + $closure->uses = [new \PhpParser\Node\Expr\ClosureUse($variableResult, \true)]; + $closure->stmts = $ifs; + $funcCall = $this->nodeFactory->createFuncCall('array_walk', [$variableReflectionClassConstants, $closure]); + $this->addNodeBeforeNode(new \PhpParser\Node\Stmt\Expression($funcCall), $currentStmt); + return $variableResult; + } + private function resolveClassConstFetchName(\PhpParser\Node\Expr\ClassConstFetch $classConstFetch) : ?string + { + if ($this->shouldSkipClassConstFetch($classConstFetch)) { + return null; + } + /** @var Identifier $name */ + $name = $classConstFetch->name; + return $name->toString(); + } + /** + * @return string[] + */ + private function resolveClassConstFetchNames(\PhpParser\Node\Expr\BinaryOp\BitwiseOr $bitwiseOr) : array + { + $values = $this->bitwiseOrAnalyzer->findBitwiseOrConditions($bitwiseOr); + if ($this->shouldSkipBitwiseOrValues($values)) { + return []; + } + $classConstFetchNames = []; + /** @var ClassConstFetch[] $values */ + foreach ($values as $value) { + /** @var Identifier $name */ + $name = $value->name; + $classConstFetchNames[] = $name->toString(); + } + return \array_unique($classConstFetchNames); + } + /** + * @param Node[] $values + */ + private function shouldSkipBitwiseOrValues(array $values) : bool + { + foreach ($values as $value) { + if (!$value instanceof \PhpParser\Node\Expr\ClassConstFetch) { + return \true; + } + if ($this->shouldSkipClassConstFetch($value)) { + return \true; + } + } + return \false; + } + private function shouldSkipClassConstFetch(\PhpParser\Node\Expr\ClassConstFetch $classConstFetch) : bool + { + if (!$classConstFetch->class instanceof \PhpParser\Node\Name\FullyQualified) { + return \true; + } + if ($classConstFetch->class->toString() !== 'ReflectionClassConstant') { + return \true; + } + if (!$classConstFetch->name instanceof \PhpParser\Node\Identifier) { + return \true; + } + $constants = \array_keys(self::MAP_CONSTANT_TO_METHOD); + return !$this->nodeNameResolver->isNames($classConstFetch->name, $constants); + } + private function shouldSkip(\PhpParser\Node\Expr\MethodCall $methodCall) : bool + { + if (!$this->nodeNameResolver->isName($methodCall->name, 'getConstants')) { + return \true; + } + $varType = $this->nodeTypeResolver->getType($methodCall->var); + if (!$varType instanceof \PHPStan\Type\ObjectType) { + return \true; + } + if ($varType->getClassName() !== 'ReflectionClass') { + return \true; + } + return $methodCall->getArgs() === []; + } +} diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 88a7c36a178..87d8c9c4b49 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -16,11 +16,11 @@ final class VersionResolver /** * @var string */ - public const PACKAGE_VERSION = 'c4ffdb5d8e724c3a3142e912e481111240e01d82'; + public const PACKAGE_VERSION = '2a18c59a0c0d7e56cb80c8fedfeb4452745e5501'; /** * @var string */ - public const RELEASE_DATE = '2021-12-20 12:57:47'; + public const RELEASE_DATE = '2021-12-20 12:58:31'; public static function resolvePackageVersion() : string { $process = new \RectorPrefix20211220\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__); diff --git a/src/DependencyInjection/Collector/ConfigureCallValuesCollector.php b/src/DependencyInjection/Collector/ConfigureCallValuesCollector.php index f191ab0321f..8c582d0d9b0 100644 --- a/src/DependencyInjection/Collector/ConfigureCallValuesCollector.php +++ b/src/DependencyInjection/Collector/ConfigureCallValuesCollector.php @@ -5,6 +5,7 @@ namespace Rector\Core\DependencyInjection\Collector; use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use ReflectionClass; +use ReflectionClassConstant; use RectorPrefix20211220\Symfony\Component\Console\Style\SymfonyStyle; use RectorPrefix20211220\Symfony\Component\DependencyInjection\Definition; use RectorPrefix20211220\Symplify\PackageBuilder\Console\Style\SymfonyStyleFactory; @@ -66,14 +67,20 @@ final class ConfigureCallValuesCollector // fixes bug when 1 item is unwrapped and treated as constant key, without rule having public constant $classReflection = new \ReflectionClass($rectorClass); $reflectionClassConstants = $classReflection->getReflectionConstants(); - foreach ($reflectionClassConstants as $reflectionClassConstant) { - if (!$reflectionClassConstant->isPublic()) { - continue; + $result = []; + \array_walk($reflectionClassConstants, function ($value) use(&$result) { + if ($value->isPublic()) { + $result[$value->getName()] = $value->getValue(); } - $constantValue = $reflectionClassConstant->getValue(); - $constantName = $reflectionClassConstant->getName(); + }); + $constantNamesToValues = $result; + foreach ($constantNamesToValues as $constantName => $constantValue) { if ($constantValue === $firstKey) { - if (\strpos((string) $reflectionClassConstant->getDocComment(), '@deprecated') === \false) { + $reflectionConstant = $classReflection->getReflectionConstant($constantName); + if ($reflectionConstant === \false) { + continue; + } + if (\strpos((string) $reflectionConstant->getDocComment(), '@deprecated') === \false) { continue; } $warningMessage = \sprintf('The constant for "%s::%s" is deprecated.%sUse "->configure()" directly instead.', $rectorClass, $constantName, \PHP_EOL); diff --git a/vendor/autoload.php b/vendor/autoload.php index 6f37bba9e16..a65345299c4 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9::getLoader(); +return ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6::getLoader(); diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 2fce2657b3b..3b3c835f9db 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2029,6 +2029,7 @@ return array( 'Rector\\DowngradePhp80\\Rector\\FunctionLike\\DowngradeUnionTypeDeclarationRector' => $baseDir . '/rules/DowngradePhp80/Rector/FunctionLike/DowngradeUnionTypeDeclarationRector.php', 'Rector\\DowngradePhp80\\Rector\\Instanceof_\\DowngradePhp80ResourceReturnToObjectRector' => $baseDir . '/rules/DowngradePhp80/Rector/Instanceof_/DowngradePhp80ResourceReturnToObjectRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeNamedArgumentRector' => $baseDir . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeNamedArgumentRector.php', + 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionClassGetConstantsFilterRector' => $baseDir . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionGetAttributesRector' => $baseDir . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionGetAttributesRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionPropertyGetDefaultValueRector' => $baseDir . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionPropertyGetDefaultValueRector.php', 'Rector\\DowngradePhp80\\Rector\\New_\\DowngradeArbitraryExpressionsSupportRector' => $baseDir . '/rules/DowngradePhp80/Rector/New_/DowngradeArbitraryExpressionsSupportRector.php', @@ -2294,6 +2295,7 @@ return array( 'Rector\\Nette\\ValueObject\\ParameterAssign' => $vendorDir . '/rector/rector-nette/src/ValueObject/ParameterAssign.php', 'Rector\\Nette\\ValueObject\\TemplateParametersAssigns' => $vendorDir . '/rector/rector-nette/src/ValueObject/TemplateParametersAssigns.php', 'Rector\\NodeCollector\\NodeAnalyzer\\ArrayCallableMethodMatcher' => $baseDir . '/packages/NodeCollector/NodeAnalyzer/ArrayCallableMethodMatcher.php', + 'Rector\\NodeCollector\\NodeAnalyzer\\BitwiseOrAnalyzer' => $baseDir . '/packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php', 'Rector\\NodeCollector\\NodeAnalyzer\\BooleanAndAnalyzer' => $baseDir . '/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php', 'Rector\\NodeCollector\\ScopeResolver\\ParentClassScopeResolver' => $baseDir . '/packages/NodeCollector/ScopeResolver/ParentClassScopeResolver.php', 'Rector\\NodeCollector\\StaticAnalyzer' => $baseDir . '/packages/NodeCollector/StaticAnalyzer.php', diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index e34b01ce1a2..a699671259e 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9 +class ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6 { private static $loader; @@ -22,15 +22,15 @@ class ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); - spl_autoload_unregister(array('ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6', '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\ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6::getInitializer($loader)); } else { $classMap = require __DIR__ . '/autoload_classmap.php'; if ($classMap) { @@ -42,19 +42,19 @@ class ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9 $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire92bcbf4746a781392c39f1d4f13799d9($fileIdentifier, $file); + composerRequire3a9b1668a40dbf3ebdc3b03c1bd148a6($fileIdentifier, $file); } return $loader; } } -function composerRequire92bcbf4746a781392c39f1d4f13799d9($fileIdentifier, $file) +function composerRequire3a9b1668a40dbf3ebdc3b03c1bd148a6($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 165b90c5fff..65164902187 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9 +class ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6 { public static $files = array ( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', @@ -2424,6 +2424,7 @@ class ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9 'Rector\\DowngradePhp80\\Rector\\FunctionLike\\DowngradeUnionTypeDeclarationRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/FunctionLike/DowngradeUnionTypeDeclarationRector.php', 'Rector\\DowngradePhp80\\Rector\\Instanceof_\\DowngradePhp80ResourceReturnToObjectRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/Instanceof_/DowngradePhp80ResourceReturnToObjectRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeNamedArgumentRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeNamedArgumentRector.php', + 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionClassGetConstantsFilterRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionClassGetConstantsFilterRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionGetAttributesRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionGetAttributesRector.php', 'Rector\\DowngradePhp80\\Rector\\MethodCall\\DowngradeReflectionPropertyGetDefaultValueRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionPropertyGetDefaultValueRector.php', 'Rector\\DowngradePhp80\\Rector\\New_\\DowngradeArbitraryExpressionsSupportRector' => __DIR__ . '/../..' . '/rules/DowngradePhp80/Rector/New_/DowngradeArbitraryExpressionsSupportRector.php', @@ -2689,6 +2690,7 @@ class ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9 'Rector\\Nette\\ValueObject\\ParameterAssign' => __DIR__ . '/..' . '/rector/rector-nette/src/ValueObject/ParameterAssign.php', 'Rector\\Nette\\ValueObject\\TemplateParametersAssigns' => __DIR__ . '/..' . '/rector/rector-nette/src/ValueObject/TemplateParametersAssigns.php', 'Rector\\NodeCollector\\NodeAnalyzer\\ArrayCallableMethodMatcher' => __DIR__ . '/../..' . '/packages/NodeCollector/NodeAnalyzer/ArrayCallableMethodMatcher.php', + 'Rector\\NodeCollector\\NodeAnalyzer\\BitwiseOrAnalyzer' => __DIR__ . '/../..' . '/packages/NodeCollector/NodeAnalyzer/BitwiseOrAnalyzer.php', 'Rector\\NodeCollector\\NodeAnalyzer\\BooleanAndAnalyzer' => __DIR__ . '/../..' . '/packages/NodeCollector/NodeAnalyzer/BooleanAndAnalyzer.php', 'Rector\\NodeCollector\\ScopeResolver\\ParentClassScopeResolver' => __DIR__ . '/../..' . '/packages/NodeCollector/ScopeResolver/ParentClassScopeResolver.php', 'Rector\\NodeCollector\\StaticAnalyzer' => __DIR__ . '/../..' . '/packages/NodeCollector/StaticAnalyzer.php', @@ -3830,9 +3832,9 @@ class ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit92bcbf4746a781392c39f1d4f13799d9::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit3a9b1668a40dbf3ebdc3b03c1bd148a6::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/scoper-autoload.php b/vendor/scoper-autoload.php index 9e1a6c79e37..092e27681d4 100644 --- a/vendor/scoper-autoload.php +++ b/vendor/scoper-autoload.php @@ -9,8 +9,8 @@ $loader = require_once __DIR__.'/autoload.php'; if (!class_exists('AutoloadIncluder', false) && !interface_exists('AutoloadIncluder', false) && !trait_exists('AutoloadIncluder', false)) { spl_autoload_call('RectorPrefix20211220\AutoloadIncluder'); } -if (!class_exists('ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9', false) && !interface_exists('ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9', false) && !trait_exists('ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9', false)) { - spl_autoload_call('RectorPrefix20211220\ComposerAutoloaderInit92bcbf4746a781392c39f1d4f13799d9'); +if (!class_exists('ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6', false) && !interface_exists('ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6', false) && !trait_exists('ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6', false)) { + spl_autoload_call('RectorPrefix20211220\ComposerAutoloaderInit3a9b1668a40dbf3ebdc3b03c1bd148a6'); } if (!class_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !interface_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false) && !trait_exists('Helmich\TypoScriptParser\Parser\AST\Statement', false)) { spl_autoload_call('RectorPrefix20211220\Helmich\TypoScriptParser\Parser\AST\Statement'); @@ -78,9 +78,9 @@ if (!function_exists('print_node')) { return \RectorPrefix20211220\print_node(...func_get_args()); } } -if (!function_exists('composerRequire92bcbf4746a781392c39f1d4f13799d9')) { - function composerRequire92bcbf4746a781392c39f1d4f13799d9() { - return \RectorPrefix20211220\composerRequire92bcbf4746a781392c39f1d4f13799d9(...func_get_args()); +if (!function_exists('composerRequire3a9b1668a40dbf3ebdc3b03c1bd148a6')) { + function composerRequire3a9b1668a40dbf3ebdc3b03c1bd148a6() { + return \RectorPrefix20211220\composerRequire3a9b1668a40dbf3ebdc3b03c1bd148a6(...func_get_args()); } } if (!function_exists('scanPath')) {