golden hour
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/symplify/easy-parallel/src/Reflection
⬆️ Go Up
Upload
File/Folder
Size
Actions
CommandFromReflectionFactory.php
1.13 KB
Del
OK
Edit: CommandFromReflectionFactory.php
<?php declare (strict_types=1); namespace RectorPrefix202411\Symplify\EasyParallel\Reflection; use ReflectionClass; use ReflectionMethod; use RectorPrefix202411\Symfony\Component\Console\Command\Command; use RectorPrefix202411\Symplify\EasyParallel\Exception\ParallelShouldNotHappenException; /** * @api */ final class CommandFromReflectionFactory { /** * @param class-string<Command> $className */ public function create(string $className) : Command { $commandReflectionClass = new ReflectionClass($className); $command = $commandReflectionClass->newInstanceWithoutConstructor(); $parentClassReflection = $commandReflectionClass->getParentClass(); if (!$parentClassReflection instanceof ReflectionClass) { throw new ParallelShouldNotHappenException(); } $parentConstructorReflectionMethod = $parentClassReflection->getConstructor(); if (!$parentConstructorReflectionMethod instanceof ReflectionMethod) { throw new ParallelShouldNotHappenException(); } $parentConstructorReflectionMethod->invoke($command); return $command; } }
Save