Updated Rector to commit eecf18f320

eecf18f320 [DeadCode] Remove RemoveSetterOnlyPropertyAndMethodCallRector, unreliable and better handled by PHPStan (#53)
This commit is contained in:
Tomas Votruba 2021-05-16 17:05:12 +00:00
parent 864972a776
commit fdfd45b0a0
10 changed files with 18 additions and 280 deletions

View File

@ -37,7 +37,6 @@ use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfFunctionExistsRector;
use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfPhpVersionRector;
use Rector\DeadCode\Rector\MethodCall\RemoveEmptyMethodCallRector;
use Rector\DeadCode\Rector\Node\RemoveNonExistingVarAnnotationRector;
use Rector\DeadCode\Rector\Property\RemoveSetterOnlyPropertyAndMethodCallRector;
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector;
use Rector\DeadCode\Rector\PropertyProperty\RemoveNullPropertyInitializationRector;
use Rector\DeadCode\Rector\Return_\RemoveDeadConditionAboveReturnRector;
@ -74,7 +73,6 @@ return static function (\RectorPrefix20210516\Symfony\Component\DependencyInject
$services->set(\Rector\DeadCode\Rector\ClassMethod\RemoveDelegatingParentCallRector::class);
$services->set(\Rector\DeadCode\Rector\BinaryOp\RemoveDuplicatedInstanceOfRector::class);
$services->set(\Rector\DeadCode\Rector\Switch_\RemoveDuplicatedCaseInSwitchRector::class);
$services->set(\Rector\DeadCode\Rector\Property\RemoveSetterOnlyPropertyAndMethodCallRector::class);
$services->set(\Rector\DeadCode\Rector\PropertyProperty\RemoveNullPropertyInitializationRector::class);
$services->set(\Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector::class);
$services->set(\Rector\DeadCode\Rector\If_\SimplifyIfElseWithSameContentRector::class);

View File

@ -1,56 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\NodeRemoval;
use PhpParser\Node;
use PhpParser\Node\Expr\MethodCall;
use PhpParser\Node\Expr\StaticCall;
use PhpParser\Node\Stmt\ClassMethod;
use Rector\DeadCode\NodeManipulator\LivingCodeManipulator;
use Rector\NodeCollector\NodeCollector\NodeRepository;
use Rector\NodeCollector\ValueObject\ArrayCallable;
use Rector\NodeTypeResolver\Node\AttributeKey;
final class ClassMethodRemover
{
/**
* @var \Rector\NodeCollector\NodeCollector\NodeRepository
*/
private $nodeRepository;
/**
* @var \Rector\NodeRemoval\NodeRemover
*/
private $nodeRemover;
/**
* @var \Rector\DeadCode\NodeManipulator\LivingCodeManipulator
*/
private $livingCodeManipulator;
public function __construct(\Rector\NodeCollector\NodeCollector\NodeRepository $nodeRepository, \Rector\NodeRemoval\NodeRemover $nodeRemover, \Rector\DeadCode\NodeManipulator\LivingCodeManipulator $livingCodeManipulator)
{
$this->nodeRepository = $nodeRepository;
$this->nodeRemover = $nodeRemover;
$this->livingCodeManipulator = $livingCodeManipulator;
}
public function removeClassMethodAndUsages(\PhpParser\Node\Stmt\ClassMethod $classMethod) : void
{
$this->nodeRemover->removeNode($classMethod);
$calls = $this->nodeRepository->findCallsByClassMethod($classMethod);
foreach ($calls as $call) {
if ($call instanceof \Rector\NodeCollector\ValueObject\ArrayCallable) {
continue;
}
$this->removeMethodCall($call);
}
}
/**
* @param MethodCall|StaticCall $node
*/
private function removeMethodCall(\PhpParser\Node $node) : void
{
$currentStatement = $node->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::CURRENT_STATEMENT);
foreach ($node->args as $arg) {
$this->livingCodeManipulator->addLivingCodeBeforeNode($arg->value, $currentStatement);
}
$this->nodeRemover->removeNode($node);
}
}

View File

@ -50,8 +50,4 @@ final class VendorLockResolver
{
return $this->propertyTypeVendorLockResolver->isVendorLocked($property);
}
public function isClassMethodRemovalVendorLocked(\PhpParser\Node\Stmt\ClassMethod $classMethod) : bool
{
return $this->classMethodVendorLockResolver->isRemovalVendorLocked($classMethod);
}
}

View File

@ -1,186 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\DeadCode\Rector\Property;
use PhpParser\Node;
use PhpParser\Node\Expr\PropertyFetch;
use PhpParser\Node\Expr\StaticPropertyFetch;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Interface_;
use PhpParser\Node\Stmt\Property;
use PhpParser\Node\Stmt\Trait_;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\NodeManipulator\PropertyManipulator;
use Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\Removing\NodeManipulator\ComplexNodeRemover;
use Rector\VendorLocker\VendorLockResolver;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
/**
* @see \Rector\Tests\DeadCode\Rector\Property\RemoveSetterOnlyPropertyAndMethodCallRector\RemoveSetterOnlyPropertyAndMethodCallRectorTest
*/
final class RemoveSetterOnlyPropertyAndMethodCallRector extends \Rector\Core\Rector\AbstractRector
{
/**
* @var \Rector\Core\NodeManipulator\PropertyManipulator
*/
private $propertyManipulator;
/**
* @var \Rector\VendorLocker\VendorLockResolver
*/
private $vendorLockResolver;
/**
* @var \Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder
*/
private $propertyFetchFinder;
/**
* @var \Rector\Removing\NodeManipulator\ComplexNodeRemover
*/
private $complexNodeRemover;
public function __construct(\Rector\Core\NodeManipulator\PropertyManipulator $propertyManipulator, \Rector\VendorLocker\VendorLockResolver $vendorLockResolver, \Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder $propertyFetchFinder, \Rector\Removing\NodeManipulator\ComplexNodeRemover $complexNodeRemover)
{
$this->propertyManipulator = $propertyManipulator;
$this->vendorLockResolver = $vendorLockResolver;
$this->propertyFetchFinder = $propertyFetchFinder;
$this->complexNodeRemover = $complexNodeRemover;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Removes method that set values that are never used', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
class SomeClass
{
private $name;
public function setName($name)
{
$this->name = $name;
}
}
class ActiveOnlySetter
{
public function run()
{
$someClass = new SomeClass();
$someClass->setName('Tom');
}
}
CODE_SAMPLE
, <<<'CODE_SAMPLE'
class SomeClass
{
}
class ActiveOnlySetter
{
public function run()
{
$someClass = new SomeClass();
}
}
CODE_SAMPLE
)]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [\PhpParser\Node\Stmt\Property::class];
}
/**
* @param Property $node
*/
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
{
if ($this->shouldSkipProperty($node)) {
return null;
}
$propertyFetches = $this->propertyFetchFinder->findPrivatePropertyFetches($node);
$classMethodsToCheck = $this->collectClassMethodsToCheck($propertyFetches);
$vendorLockedClassMethodNames = $this->getVendorLockedClassMethodNames($classMethodsToCheck);
$this->complexNodeRemover->removePropertyAndUsages($node, $vendorLockedClassMethodNames);
foreach ($classMethodsToCheck as $classMethodToCheck) {
if (!$this->hasMethodSomeStmtsLeft($classMethodToCheck)) {
continue;
}
$classMethodName = $this->getName($classMethodToCheck->name);
if (\in_array($classMethodName, $vendorLockedClassMethodNames, \true)) {
continue;
}
$this->complexNodeRemover->removeClassMethodAndUsages($classMethodToCheck);
}
return $node;
}
private function shouldSkipProperty(\PhpParser\Node\Stmt\Property $property) : bool
{
if (\count($property->props) !== 1) {
return \true;
}
if (!$property->isPrivate()) {
return \true;
}
/** @var Class_|Interface_|Trait_|null $classLike */
$classLike = $property->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::CLASS_NODE);
if ($classLike === null) {
return \true;
}
if ($classLike instanceof \PhpParser\Node\Stmt\Trait_) {
return \true;
}
if ($classLike instanceof \PhpParser\Node\Stmt\Interface_) {
return \true;
}
return $this->propertyManipulator->isPropertyUsedInReadContext($property);
}
/**
* @param PropertyFetch[]|StaticPropertyFetch[] $propertyFetches
* @return ClassMethod[]
*/
private function collectClassMethodsToCheck(array $propertyFetches) : array
{
$classMethodsToCheck = [];
foreach ($propertyFetches as $propertyFetch) {
$classMethod = $propertyFetch->getAttribute(\Rector\NodeTypeResolver\Node\AttributeKey::METHOD_NODE);
if (!$classMethod instanceof \PhpParser\Node\Stmt\ClassMethod) {
throw new \Rector\Core\Exception\ShouldNotHappenException();
}
// this rector does not remove empty constructors
if ($this->nodeNameResolver->isName($classMethod, \Rector\Core\ValueObject\MethodName::CONSTRUCT)) {
continue;
}
$methodName = $this->getName($classMethod);
$classMethodsToCheck[$methodName] = $classMethod;
}
return $classMethodsToCheck;
}
/**
* @param array<string, ClassMethod> $methodsToCheck
* @return string[]
*/
private function getVendorLockedClassMethodNames(array $methodsToCheck) : array
{
$vendorLockedClassMethodsNames = [];
foreach ($methodsToCheck as $methodToCheck) {
if (!$this->vendorLockResolver->isClassMethodRemovalVendorLocked($methodToCheck)) {
continue;
}
$vendorLockedClassMethodsNames[] = $this->getName($methodToCheck);
}
return $vendorLockedClassMethodsNames;
}
private function hasMethodSomeStmtsLeft(\PhpParser\Node\Stmt\ClassMethod $classMethod) : bool
{
foreach ((array) $classMethod->stmts as $stmt) {
if (!$this->nodesToRemoveCollector->isNodeRemoved($stmt)) {
return \false;
}
}
return \true;
}
}

View File

@ -18,16 +18,11 @@ use Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder;
use Rector\Core\ValueObject\MethodName;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\NodeRemoval\AssignRemover;
use Rector\NodeRemoval\ClassMethodRemover;
use Rector\NodeRemoval\NodeRemover;
use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\PostRector\Collector\NodesToRemoveCollector;
final class ComplexNodeRemover
{
/**
* @var \Rector\NodeRemoval\ClassMethodRemover
*/
private $classMethodRemover;
/**
* @var \Rector\NodeRemoval\AssignRemover
*/
@ -56,9 +51,8 @@ final class ComplexNodeRemover
* @var \Rector\Core\PhpParser\Comparing\NodeComparator
*/
private $nodeComparator;
public function __construct(\Rector\NodeRemoval\ClassMethodRemover $classMethodRemover, \Rector\NodeRemoval\AssignRemover $assignRemover, \Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder $propertyFetchFinder, \Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\PhpParser\Node\BetterNodeFinder $betterNodeFinder, \Rector\NodeRemoval\NodeRemover $nodeRemover, \Rector\PostRector\Collector\NodesToRemoveCollector $nodesToRemoveCollector, \Rector\Core\PhpParser\Comparing\NodeComparator $nodeComparator)
public function __construct(\Rector\NodeRemoval\AssignRemover $assignRemover, \Rector\Core\PhpParser\NodeFinder\PropertyFetchFinder $propertyFetchFinder, \Rector\NodeNameResolver\NodeNameResolver $nodeNameResolver, \Rector\Core\PhpParser\Node\BetterNodeFinder $betterNodeFinder, \Rector\NodeRemoval\NodeRemover $nodeRemover, \Rector\PostRector\Collector\NodesToRemoveCollector $nodesToRemoveCollector, \Rector\Core\PhpParser\Comparing\NodeComparator $nodeComparator)
{
$this->classMethodRemover = $classMethodRemover;
$this->assignRemover = $assignRemover;
$this->propertyFetchFinder = $propertyFetchFinder;
$this->nodeNameResolver = $nodeNameResolver;
@ -67,10 +61,6 @@ final class ComplexNodeRemover
$this->nodesToRemoveCollector = $nodesToRemoveCollector;
$this->nodeComparator = $nodeComparator;
}
public function removeClassMethodAndUsages(\PhpParser\Node\Stmt\ClassMethod $classMethod) : void
{
$this->classMethodRemover->removeClassMethodAndUsages($classMethod);
}
/**
* @param string[] $classMethodNamesToSkip
*/

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d::getLoader();
return ComposerAutoloaderInit963e7a858a12877c62609128dfc56900::getLoader();

View File

@ -1876,7 +1876,6 @@ return array(
'Rector\\DeadCode\\Rector\\Node\\RemoveNonExistingVarAnnotationRector' => $baseDir . '/rules/DeadCode/Rector/Node/RemoveNonExistingVarAnnotationRector.php',
'Rector\\DeadCode\\Rector\\Plus\\RemoveDeadZeroAndOneOperationRector' => $baseDir . '/rules/DeadCode/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php',
'Rector\\DeadCode\\Rector\\PropertyProperty\\RemoveNullPropertyInitializationRector' => $baseDir . '/rules/DeadCode/Rector/PropertyProperty/RemoveNullPropertyInitializationRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveSetterOnlyPropertyAndMethodCallRector' => $baseDir . '/rules/DeadCode/Rector/Property/RemoveSetterOnlyPropertyAndMethodCallRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveUnusedPrivatePropertyRector' => $baseDir . '/rules/DeadCode/Rector/Property/RemoveUnusedPrivatePropertyRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveUselessVarTagRector' => $baseDir . '/rules/DeadCode/Rector/Property/RemoveUselessVarTagRector.php',
'Rector\\DeadCode\\Rector\\Return_\\RemoveDeadConditionAboveReturnRector' => $baseDir . '/rules/DeadCode/Rector/Return_/RemoveDeadConditionAboveReturnRector.php',
@ -2333,7 +2332,6 @@ return array(
'Rector\\NodeNestingScope\\ValueObject\\ControlStructure' => $baseDir . '/packages/NodeNestingScope/ValueObject/ControlStructure.php',
'Rector\\NodeRemoval\\AssignRemover' => $baseDir . '/packages/NodeRemoval/AssignRemover.php',
'Rector\\NodeRemoval\\BreakingRemovalGuard' => $baseDir . '/packages/NodeRemoval/BreakingRemovalGuard.php',
'Rector\\NodeRemoval\\ClassMethodRemover' => $baseDir . '/packages/NodeRemoval/ClassMethodRemover.php',
'Rector\\NodeRemoval\\NodeRemover' => $baseDir . '/packages/NodeRemoval/NodeRemover.php',
'Rector\\NodeTypeResolver\\Contract\\NodeTypeResolverInterface' => $baseDir . '/packages/NodeTypeResolver/Contract/NodeTypeResolverInterface.php',
'Rector\\NodeTypeResolver\\Contract\\SourceLocatorProviderInterface' => $baseDir . '/packages/NodeTypeResolver/Contract/SourceLocatorProviderInterface.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d
class ComposerAutoloaderInit963e7a858a12877c62609128dfc56900
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit963e7a858a12877c62609128dfc56900', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit963e7a858a12877c62609128dfc56900', '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\ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit963e7a858a12877c62609128dfc56900::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d::$files;
$includeFiles = Composer\Autoload\ComposerStaticInit963e7a858a12877c62609128dfc56900::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire8b93c9fffd2ca039e9f9635d7b2a907d($fileIdentifier, $file);
composerRequire963e7a858a12877c62609128dfc56900($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire8b93c9fffd2ca039e9f9635d7b2a907d($fileIdentifier, $file)
function composerRequire963e7a858a12877c62609128dfc56900($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d
class ComposerStaticInit963e7a858a12877c62609128dfc56900
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -2205,7 +2205,6 @@ class ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d
'Rector\\DeadCode\\Rector\\Node\\RemoveNonExistingVarAnnotationRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Node/RemoveNonExistingVarAnnotationRector.php',
'Rector\\DeadCode\\Rector\\Plus\\RemoveDeadZeroAndOneOperationRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php',
'Rector\\DeadCode\\Rector\\PropertyProperty\\RemoveNullPropertyInitializationRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/PropertyProperty/RemoveNullPropertyInitializationRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveSetterOnlyPropertyAndMethodCallRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Property/RemoveSetterOnlyPropertyAndMethodCallRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveUnusedPrivatePropertyRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Property/RemoveUnusedPrivatePropertyRector.php',
'Rector\\DeadCode\\Rector\\Property\\RemoveUselessVarTagRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Property/RemoveUselessVarTagRector.php',
'Rector\\DeadCode\\Rector\\Return_\\RemoveDeadConditionAboveReturnRector' => __DIR__ . '/../..' . '/rules/DeadCode/Rector/Return_/RemoveDeadConditionAboveReturnRector.php',
@ -2662,7 +2661,6 @@ class ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d
'Rector\\NodeNestingScope\\ValueObject\\ControlStructure' => __DIR__ . '/../..' . '/packages/NodeNestingScope/ValueObject/ControlStructure.php',
'Rector\\NodeRemoval\\AssignRemover' => __DIR__ . '/../..' . '/packages/NodeRemoval/AssignRemover.php',
'Rector\\NodeRemoval\\BreakingRemovalGuard' => __DIR__ . '/../..' . '/packages/NodeRemoval/BreakingRemovalGuard.php',
'Rector\\NodeRemoval\\ClassMethodRemover' => __DIR__ . '/../..' . '/packages/NodeRemoval/ClassMethodRemover.php',
'Rector\\NodeRemoval\\NodeRemover' => __DIR__ . '/../..' . '/packages/NodeRemoval/NodeRemover.php',
'Rector\\NodeTypeResolver\\Contract\\NodeTypeResolverInterface' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/Contract/NodeTypeResolverInterface.php',
'Rector\\NodeTypeResolver\\Contract\\SourceLocatorProviderInterface' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/Contract/SourceLocatorProviderInterface.php',
@ -3449,9 +3447,9 @@ class ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit8b93c9fffd2ca039e9f9635d7b2a907d::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit963e7a858a12877c62609128dfc56900::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit963e7a858a12877c62609128dfc56900::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit963e7a858a12877c62609128dfc56900::$classMap;
}, null, ClassLoader::class);
}

View File

@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
spl_autoload_call('RectorPrefix20210516\CheckoutEntityFactory');
}
if (!class_exists('ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d', false) && !interface_exists('ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d', false) && !trait_exists('ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d', false)) {
spl_autoload_call('RectorPrefix20210516\ComposerAutoloaderInit8b93c9fffd2ca039e9f9635d7b2a907d');
if (!class_exists('ComposerAutoloaderInit963e7a858a12877c62609128dfc56900', false) && !interface_exists('ComposerAutoloaderInit963e7a858a12877c62609128dfc56900', false) && !trait_exists('ComposerAutoloaderInit963e7a858a12877c62609128dfc56900', false)) {
spl_autoload_call('RectorPrefix20210516\ComposerAutoloaderInit963e7a858a12877c62609128dfc56900');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210516\Doctrine\Inflector\Inflector');
@ -95,9 +95,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210516\print_node(...func_get_args());
}
}
if (!function_exists('composerRequire8b93c9fffd2ca039e9f9635d7b2a907d')) {
function composerRequire8b93c9fffd2ca039e9f9635d7b2a907d() {
return \RectorPrefix20210516\composerRequire8b93c9fffd2ca039e9f9635d7b2a907d(...func_get_args());
if (!function_exists('composerRequire963e7a858a12877c62609128dfc56900')) {
function composerRequire963e7a858a12877c62609128dfc56900() {
return \RectorPrefix20210516\composerRequire963e7a858a12877c62609128dfc56900(...func_get_args());
}
}
if (!function_exists('parseArgs')) {