File manager - Edit - /var/www/payraty/helpdesk/vendor/rector/rector/src/DependencyInjection/CompilerPass/RemoveSkippedRectorsCompilerPass.php
Back
<?php declare (strict_types=1); namespace Rector\Core\DependencyInjection\CompilerPass; use Rector\Core\Configuration\Option; use Rector\Core\Contract\Rector\RectorInterface; use RectorPrefix202208\Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use RectorPrefix202208\Symfony\Component\DependencyInjection\ContainerBuilder; /** * This compiler pass removed Rectors skipped in `SKIP` parameters. * It uses Skipper from Symplify - https://github.com/symplify/skipper */ final class RemoveSkippedRectorsCompilerPass implements CompilerPassInterface { public function process(ContainerBuilder $containerBuilder) : void { $skippedRectorClasses = $this->resolveSkippedRectorClasses($containerBuilder); foreach ($containerBuilder->getDefinitions() as $id => $definition) { if ($definition->getClass() === null) { continue; } if (!\in_array($definition->getClass(), $skippedRectorClasses, \true)) { continue; } $containerBuilder->removeDefinition($id); } } /** * @return string[] */ private function resolveSkippedRectorClasses(ContainerBuilder $containerBuilder) : array { $skipParameters = (array) $containerBuilder->getParameter(Option::SKIP); return \array_filter($skipParameters, function ($element) : bool { return $this->isRectorClass($element); }); } /** * @param mixed $element */ private function isRectorClass($element) : bool { if (!\is_string($element)) { return \false; } return \is_a($element, RectorInterface::class, \true); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings