mirror of
https://github.com/rectorphp/rector.git
synced 2025-03-15 04:49:44 +01:00
Updated Rector to commit c251806319f0f9e140a8ea0c9c3d7ba7c6529327
c251806319
[Order] Cleanup set from rules that are nicely handled by php-cs-fixer (#245)
This commit is contained in:
parent
281d0518a0
commit
6b9c9cbaf5
@ -3,17 +3,9 @@
|
||||
declare (strict_types=1);
|
||||
namespace RectorPrefix20210618;
|
||||
|
||||
use Rector\Order\Rector\Class_\OrderClassConstantsByIntegerValueRector;
|
||||
use Rector\Order\Rector\Class_\OrderConstantsByVisibilityRector;
|
||||
use Rector\Order\Rector\Class_\OrderMethodsByVisibilityRector;
|
||||
use Rector\Order\Rector\Class_\OrderPrivateMethodsByUseRector;
|
||||
use Rector\Order\Rector\Class_\OrderPropertiesByVisibilityRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
return static function (\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator $containerConfigurator) : void {
|
||||
$services = $containerConfigurator->services();
|
||||
$services->set(\Rector\Order\Rector\Class_\OrderPrivateMethodsByUseRector::class);
|
||||
$services->set(\Rector\Order\Rector\Class_\OrderClassConstantsByIntegerValueRector::class);
|
||||
$services->set(\Rector\Order\Rector\Class_\OrderMethodsByVisibilityRector::class);
|
||||
$services->set(\Rector\Order\Rector\Class_\OrderPropertiesByVisibilityRector::class);
|
||||
$services->set(\Rector\Order\Rector\Class_\OrderConstantsByVisibilityRector::class);
|
||||
};
|
||||
|
@ -1,124 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Scalar\LNumber;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassConst;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Order\Order\OrderChangeAnalyzer;
|
||||
use Rector\Order\StmtOrder;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Order\Rector\Class_\OrderClassConstantsByIntegerValueRector\OrderClassConstantsByIntegerValueRectorTest
|
||||
*/
|
||||
final class OrderClassConstantsByIntegerValueRector extends \Rector\Core\Rector\AbstractRector
|
||||
{
|
||||
/**
|
||||
* @var \Rector\Order\Order\OrderChangeAnalyzer
|
||||
*/
|
||||
private $orderChangeAnalyzer;
|
||||
/**
|
||||
* @var \Rector\Order\StmtOrder
|
||||
*/
|
||||
private $stmtOrder;
|
||||
public function __construct(\Rector\Order\Order\OrderChangeAnalyzer $orderChangeAnalyzer, \Rector\Order\StmtOrder $stmtOrder)
|
||||
{
|
||||
$this->orderChangeAnalyzer = $orderChangeAnalyzer;
|
||||
$this->stmtOrder = $stmtOrder;
|
||||
}
|
||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||
{
|
||||
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Order class constant order by their integer value', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
const MODE_ON = 0;
|
||||
|
||||
const MODE_OFF = 2;
|
||||
|
||||
const MODE_MAYBE = 1;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
const MODE_ON = 0;
|
||||
|
||||
const MODE_MAYBE = 1;
|
||||
|
||||
const MODE_OFF = 2;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [\PhpParser\Node\Stmt\Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
|
||||
{
|
||||
$numericClassConstsByKey = $this->resolveClassConstByPosition($node);
|
||||
if ($numericClassConstsByKey === []) {
|
||||
return null;
|
||||
}
|
||||
$classConstConstsByValue = $this->resolveClassConstConstByUniqueValue($numericClassConstsByKey);
|
||||
$sortedClassConstConstsByValue = $classConstConstsByValue;
|
||||
\asort($sortedClassConstConstsByValue);
|
||||
$oldToNewKeys = $this->stmtOrder->createOldToNewKeys($sortedClassConstConstsByValue, $classConstConstsByValue);
|
||||
if (!$this->orderChangeAnalyzer->hasOrderChanged($oldToNewKeys)) {
|
||||
return null;
|
||||
}
|
||||
$this->stmtOrder->reorderClassStmtsByOldToNewKeys($node, $oldToNewKeys);
|
||||
return $node;
|
||||
}
|
||||
/**
|
||||
* @return ClassConst[]
|
||||
*/
|
||||
private function resolveClassConstByPosition(\PhpParser\Node\Stmt\Class_ $class) : array
|
||||
{
|
||||
$classConstConstsByValue = [];
|
||||
foreach ($class->stmts as $key => $classStmt) {
|
||||
if (!$classStmt instanceof \PhpParser\Node\Stmt\ClassConst) {
|
||||
continue;
|
||||
}
|
||||
if (\count($classStmt->consts) !== 1) {
|
||||
continue;
|
||||
}
|
||||
$classConstConst = $classStmt->consts[0];
|
||||
if (!$classConstConst->value instanceof \PhpParser\Node\Scalar\LNumber) {
|
||||
continue;
|
||||
}
|
||||
$classConstConstsByValue[$key] = $classStmt;
|
||||
}
|
||||
return $classConstConstsByValue;
|
||||
}
|
||||
/**
|
||||
* @param array<int, ClassConst> $numericClassConstsByKey
|
||||
* @return array<int, string>
|
||||
*/
|
||||
private function resolveClassConstConstByUniqueValue(array $numericClassConstsByKey) : array
|
||||
{
|
||||
$classConstConstsByValue = [];
|
||||
foreach ($numericClassConstsByKey as $position => $numericClassConst) {
|
||||
$constantValue = $this->valueResolver->getValue($numericClassConst->consts[0]->value);
|
||||
$classConstConstsByValue[$position] = $constantValue;
|
||||
}
|
||||
$arrayCountValue = \array_count_values($classConstConstsByValue);
|
||||
// work only with unique constants
|
||||
foreach ($classConstConstsByValue as $position => $constantValue) {
|
||||
if ($arrayCountValue[$constantValue] > 1) {
|
||||
unset($classConstConstsByValue[$position]);
|
||||
}
|
||||
}
|
||||
return $classConstConstsByValue;
|
||||
}
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassConst;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Order\Order\OrderChangeAnalyzer;
|
||||
use Rector\Order\StmtOrder;
|
||||
use Rector\Order\StmtVisibilitySorter;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Order\Rector\Class_\OrderConstantsByVisibilityRector\OrderConstantsByVisibilityRectorTest
|
||||
*/
|
||||
final class OrderConstantsByVisibilityRector extends \Rector\Core\Rector\AbstractRector
|
||||
{
|
||||
/**
|
||||
* @var \Rector\Order\Order\OrderChangeAnalyzer
|
||||
*/
|
||||
private $orderChangeAnalyzer;
|
||||
/**
|
||||
* @var \Rector\Order\StmtOrder
|
||||
*/
|
||||
private $stmtOrder;
|
||||
/**
|
||||
* @var \Rector\Order\StmtVisibilitySorter
|
||||
*/
|
||||
private $stmtVisibilitySorter;
|
||||
public function __construct(\Rector\Order\Order\OrderChangeAnalyzer $orderChangeAnalyzer, \Rector\Order\StmtOrder $stmtOrder, \Rector\Order\StmtVisibilitySorter $stmtVisibilitySorter)
|
||||
{
|
||||
$this->orderChangeAnalyzer = $orderChangeAnalyzer;
|
||||
$this->stmtOrder = $stmtOrder;
|
||||
$this->stmtVisibilitySorter = $stmtVisibilitySorter;
|
||||
}
|
||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||
{
|
||||
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Orders constants by visibility', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
private const PRIVATE_CONST = 'private';
|
||||
protected const PROTECTED_CONST = 'protected';
|
||||
public const PUBLIC_CONST = 'public';
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
public const PUBLIC_CONST = 'public';
|
||||
protected const PROTECTED_CONST = 'protected';
|
||||
private const PRIVATE_CONST = 'private';
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [\PhpParser\Node\Stmt\Class_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
|
||||
{
|
||||
$currentClassConstsOrder = $this->stmtOrder->getStmtsOfTypeOrder($node, \PhpParser\Node\Stmt\ClassConst::class);
|
||||
$classConstsInDesiredOrder = $this->stmtVisibilitySorter->sortConstants($node);
|
||||
$oldToNewKeys = $this->stmtOrder->createOldToNewKeys($classConstsInDesiredOrder, $currentClassConstsOrder);
|
||||
if (!$this->orderChangeAnalyzer->hasOrderChanged($oldToNewKeys)) {
|
||||
return null;
|
||||
}
|
||||
$this->stmtOrder->reorderClassStmtsByOldToNewKeys($node, $oldToNewKeys);
|
||||
return $node;
|
||||
}
|
||||
}
|
@ -1,83 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassConst;
|
||||
use PhpParser\Node\Stmt\ClassMethod;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use PhpParser\Node\Stmt\Trait_;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Order\Rector\Class_\OrderFirstLevelClassStatementsRector\OrderFirstLevelClassStatementsRectorTest
|
||||
*/
|
||||
final class OrderFirstLevelClassStatementsRector extends \Rector\Core\Rector\AbstractRector
|
||||
{
|
||||
/**
|
||||
* @var array<string, int>
|
||||
*/
|
||||
private const TYPE_TO_RANK = [\PhpParser\Node\Stmt\ClassMethod::class => 3, \PhpParser\Node\Stmt\Property::class => 2, \PhpParser\Node\Stmt\ClassConst::class => 1];
|
||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||
{
|
||||
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Orders first level Class statements', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
public function functionName();
|
||||
protected $propertyName;
|
||||
private const CONST_NAME = 'constant_value';
|
||||
use TraitName;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
use TraitName;
|
||||
private const CONST_NAME = 'constant_value';
|
||||
protected $propertyName;
|
||||
public function functionName();
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [\PhpParser\Node\Stmt\Class_::class, \PhpParser\Node\Stmt\Trait_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_|Trait_ $node
|
||||
*/
|
||||
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
|
||||
{
|
||||
$node->stmts = $this->getStmtsInDesiredPosition($node->stmts);
|
||||
return $node;
|
||||
}
|
||||
/**
|
||||
* @param Stmt[] $stmts
|
||||
* @return Stmt[]
|
||||
*/
|
||||
private function getStmtsInDesiredPosition(array $stmts) : array
|
||||
{
|
||||
\uasort($stmts, function (\PhpParser\Node\Stmt $firstStmt, \PhpParser\Node\Stmt $secondStmt) : int {
|
||||
return [$this->resolveClassElementRank($firstStmt), $firstStmt->getLine()] <=> [$this->resolveClassElementRank($secondStmt), $secondStmt->getLine()];
|
||||
});
|
||||
return $stmts;
|
||||
}
|
||||
private function resolveClassElementRank(\PhpParser\Node\Stmt $stmt) : int
|
||||
{
|
||||
foreach (self::TYPE_TO_RANK as $type => $rank) {
|
||||
if (\is_a($stmt, $type, \true)) {
|
||||
return $rank;
|
||||
}
|
||||
}
|
||||
// TraitUse
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -1,104 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassLike;
|
||||
use PhpParser\Node\Stmt\ClassMethod;
|
||||
use PhpParser\Node\Stmt\Trait_;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\ValueObject\MethodName;
|
||||
use Rector\Order\Order\OrderChangeAnalyzer;
|
||||
use Rector\Order\StmtOrder;
|
||||
use Rector\Order\StmtVisibilitySorter;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Order\Rector\Class_\OrderMethodsByVisibilityRector\OrderMethodsByVisibilityRectorTest
|
||||
*/
|
||||
final class OrderMethodsByVisibilityRector extends \Rector\Core\Rector\AbstractRector
|
||||
{
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private const PREFERRED_ORDER = [\Rector\Core\ValueObject\MethodName::CONSTRUCT, \Rector\Core\ValueObject\MethodName::DESCTRUCT, '__call', '__callStatic', '__get', '__set', '__isset', '__unset', '__sleep', '__wakeup', '__serialize', '__unserialize', '__toString', '__invoke', \Rector\Core\ValueObject\MethodName::SET_STATE, \Rector\Core\ValueObject\MethodName::CLONE, 'setUpBeforeClass', 'tearDownAfterClass', \Rector\Core\ValueObject\MethodName::SET_UP, \Rector\Core\ValueObject\MethodName::TEAR_DOWN];
|
||||
/**
|
||||
* @var \Rector\Order\Order\OrderChangeAnalyzer
|
||||
*/
|
||||
private $orderChangeAnalyzer;
|
||||
/**
|
||||
* @var \Rector\Order\StmtOrder
|
||||
*/
|
||||
private $stmtOrder;
|
||||
/**
|
||||
* @var \Rector\Order\StmtVisibilitySorter
|
||||
*/
|
||||
private $stmtVisibilitySorter;
|
||||
public function __construct(\Rector\Order\Order\OrderChangeAnalyzer $orderChangeAnalyzer, \Rector\Order\StmtOrder $stmtOrder, \Rector\Order\StmtVisibilitySorter $stmtVisibilitySorter)
|
||||
{
|
||||
$this->orderChangeAnalyzer = $orderChangeAnalyzer;
|
||||
$this->stmtOrder = $stmtOrder;
|
||||
$this->stmtVisibilitySorter = $stmtVisibilitySorter;
|
||||
}
|
||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||
{
|
||||
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Orders method by visibility', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
protected function protectedFunctionName();
|
||||
private function privateFunctionName();
|
||||
public function publicFunctionName();
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
class SomeClass
|
||||
{
|
||||
public function publicFunctionName();
|
||||
protected function protectedFunctionName();
|
||||
private function privateFunctionName();
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [\PhpParser\Node\Stmt\Class_::class, \PhpParser\Node\Stmt\Trait_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_|Trait_ $node
|
||||
*/
|
||||
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
|
||||
{
|
||||
$currentMethodsOrder = $this->stmtOrder->getStmtsOfTypeOrder($node, \PhpParser\Node\Stmt\ClassMethod::class);
|
||||
$methodsInDesiredOrder = $this->getMethodsInDesiredOrder($node);
|
||||
$oldToNewKeys = $this->stmtOrder->createOldToNewKeys($methodsInDesiredOrder, $currentMethodsOrder);
|
||||
// nothing to re-order
|
||||
if (!$this->orderChangeAnalyzer->hasOrderChanged($oldToNewKeys)) {
|
||||
return null;
|
||||
}
|
||||
$this->stmtOrder->reorderClassStmtsByOldToNewKeys($node, $oldToNewKeys);
|
||||
return $node;
|
||||
}
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
private function getMethodsInDesiredOrder(\PhpParser\Node\Stmt\ClassLike $classLike) : array
|
||||
{
|
||||
$classMethodNames = $this->stmtVisibilitySorter->sortMethods($classLike);
|
||||
return $this->applyPreferredPosition($classMethodNames);
|
||||
}
|
||||
/**
|
||||
* @param string[] $classMethods
|
||||
* @return string[]
|
||||
*/
|
||||
private function applyPreferredPosition(array $classMethods) : array
|
||||
{
|
||||
$mergedMethods = \array_merge(self::PREFERRED_ORDER, $classMethods);
|
||||
return \array_unique($mergedMethods);
|
||||
}
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use PhpParser\Node\Stmt\Trait_;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Order\Order\OrderChangeAnalyzer;
|
||||
use Rector\Order\StmtOrder;
|
||||
use Rector\Order\StmtVisibilitySorter;
|
||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||
/**
|
||||
* @see \Rector\Tests\Order\Rector\Class_\OrderPropertiesByVisibilityRector\OrderPropertiesByVisibilityRectorTest
|
||||
*/
|
||||
final class OrderPropertiesByVisibilityRector extends \Rector\Core\Rector\AbstractRector
|
||||
{
|
||||
/**
|
||||
* @var \Rector\Order\Order\OrderChangeAnalyzer
|
||||
*/
|
||||
private $orderChangeAnalyzer;
|
||||
/**
|
||||
* @var \Rector\Order\StmtOrder
|
||||
*/
|
||||
private $stmtOrder;
|
||||
/**
|
||||
* @var \Rector\Order\StmtVisibilitySorter
|
||||
*/
|
||||
private $stmtVisibilitySorter;
|
||||
public function __construct(\Rector\Order\Order\OrderChangeAnalyzer $orderChangeAnalyzer, \Rector\Order\StmtOrder $stmtOrder, \Rector\Order\StmtVisibilitySorter $stmtVisibilitySorter)
|
||||
{
|
||||
$this->orderChangeAnalyzer = $orderChangeAnalyzer;
|
||||
$this->stmtOrder = $stmtOrder;
|
||||
$this->stmtVisibilitySorter = $stmtVisibilitySorter;
|
||||
}
|
||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||
{
|
||||
return new \Symplify\RuleDocGenerator\ValueObject\RuleDefinition('Orders properties by visibility', [new \Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample(<<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
protected $protectedProperty;
|
||||
private $privateProperty;
|
||||
public $publicProperty;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
, <<<'CODE_SAMPLE'
|
||||
final class SomeClass
|
||||
{
|
||||
public $publicProperty;
|
||||
protected $protectedProperty;
|
||||
private $privateProperty;
|
||||
}
|
||||
CODE_SAMPLE
|
||||
)]);
|
||||
}
|
||||
/**
|
||||
* @return array<class-string<Node>>
|
||||
*/
|
||||
public function getNodeTypes() : array
|
||||
{
|
||||
return [\PhpParser\Node\Stmt\Class_::class, \PhpParser\Node\Stmt\Trait_::class];
|
||||
}
|
||||
/**
|
||||
* @param Class_|Trait_ $node
|
||||
*/
|
||||
public function refactor(\PhpParser\Node $node) : ?\PhpParser\Node
|
||||
{
|
||||
$currentPropertiesOrder = $this->stmtOrder->getStmtsOfTypeOrder($node, \PhpParser\Node\Stmt\Property::class);
|
||||
$propertiesInDesiredOrder = $this->stmtVisibilitySorter->sortProperties($node);
|
||||
$oldToNewKeys = $this->stmtOrder->createOldToNewKeys($propertiesInDesiredOrder, $currentPropertiesOrder);
|
||||
// nothing to re-order
|
||||
if (!$this->orderChangeAnalyzer->hasOrderChanged($oldToNewKeys)) {
|
||||
return null;
|
||||
}
|
||||
$this->stmtOrder->reorderClassStmtsByOldToNewKeys($node, $oldToNewKeys);
|
||||
return $node;
|
||||
}
|
||||
}
|
@ -16,11 +16,11 @@ final class VersionResolver
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = 'dce60231f7fe8777847a5f845572711999db650f';
|
||||
public const PACKAGE_VERSION = 'c251806319f0f9e140a8ea0c9c3d7ba7c6529327';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2021-06-18 17:19:36';
|
||||
public const RELEASE_DATE = '2021-06-18 18:01:14';
|
||||
public static function resolvePackageVersion() : string
|
||||
{
|
||||
$process = new \RectorPrefix20210618\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);
|
||||
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
@ -4,4 +4,4 @@
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9::getLoader();
|
||||
return ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa::getLoader();
|
||||
|
5
vendor/composer/autoload_classmap.php
vendored
5
vendor/composer/autoload_classmap.php
vendored
@ -2522,12 +2522,7 @@ return array(
|
||||
'Rector\\NodeTypeResolver\\ValueObject\\OldToNewType' => $baseDir . '/packages/NodeTypeResolver/ValueObject/OldToNewType.php',
|
||||
'Rector\\Order\\Contract\\RankeableInterface' => $baseDir . '/rules/Order/Contract/RankeableInterface.php',
|
||||
'Rector\\Order\\Order\\OrderChangeAnalyzer' => $baseDir . '/rules/Order/Order/OrderChangeAnalyzer.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderClassConstantsByIntegerValueRector' => $baseDir . '/rules/Order/Rector/Class_/OrderClassConstantsByIntegerValueRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderConstantsByVisibilityRector' => $baseDir . '/rules/Order/Rector/Class_/OrderConstantsByVisibilityRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderFirstLevelClassStatementsRector' => $baseDir . '/rules/Order/Rector/Class_/OrderFirstLevelClassStatementsRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderMethodsByVisibilityRector' => $baseDir . '/rules/Order/Rector/Class_/OrderMethodsByVisibilityRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderPrivateMethodsByUseRector' => $baseDir . '/rules/Order/Rector/Class_/OrderPrivateMethodsByUseRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderPropertiesByVisibilityRector' => $baseDir . '/rules/Order/Rector/Class_/OrderPropertiesByVisibilityRector.php',
|
||||
'Rector\\Order\\StmtOrder' => $baseDir . '/rules/Order/StmtOrder.php',
|
||||
'Rector\\Order\\StmtVisibilitySorter' => $baseDir . '/rules/Order/StmtVisibilitySorter.php',
|
||||
'Rector\\Order\\ValueObject\\ClassConstRankeable' => $baseDir . '/rules/Order/ValueObject/ClassConstRankeable.php',
|
||||
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
@ -2,7 +2,7 @@
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
class ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
@ -22,15 +22,15 @@ class ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9', 'loadClassLoader'), true, true);
|
||||
spl_autoload_register(array('ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9', 'loadClassLoader'));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa', '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\ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9::getInitializer($loader));
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit6eb7042105862f732d268d726514ddaa::getInitializer($loader));
|
||||
} else {
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
@ -42,19 +42,19 @@ class ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
$loader->register(true);
|
||||
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9::$files;
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInit6eb7042105862f732d268d726514ddaa::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequire2ae2f6e0aa81490d538740629dbe54a9($fileIdentifier, $file);
|
||||
composerRequire6eb7042105862f732d268d726514ddaa($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequire2ae2f6e0aa81490d538740629dbe54a9($fileIdentifier, $file)
|
||||
function composerRequire6eb7042105862f732d268d726514ddaa($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
13
vendor/composer/autoload_static.php
vendored
13
vendor/composer/autoload_static.php
vendored
@ -4,7 +4,7 @@
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
class ComposerStaticInit6eb7042105862f732d268d726514ddaa
|
||||
{
|
||||
public static $files = array (
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
@ -2877,12 +2877,7 @@ class ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
'Rector\\NodeTypeResolver\\ValueObject\\OldToNewType' => __DIR__ . '/../..' . '/packages/NodeTypeResolver/ValueObject/OldToNewType.php',
|
||||
'Rector\\Order\\Contract\\RankeableInterface' => __DIR__ . '/../..' . '/rules/Order/Contract/RankeableInterface.php',
|
||||
'Rector\\Order\\Order\\OrderChangeAnalyzer' => __DIR__ . '/../..' . '/rules/Order/Order/OrderChangeAnalyzer.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderClassConstantsByIntegerValueRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderClassConstantsByIntegerValueRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderConstantsByVisibilityRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderConstantsByVisibilityRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderFirstLevelClassStatementsRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderFirstLevelClassStatementsRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderMethodsByVisibilityRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderMethodsByVisibilityRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderPrivateMethodsByUseRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderPrivateMethodsByUseRector.php',
|
||||
'Rector\\Order\\Rector\\Class_\\OrderPropertiesByVisibilityRector' => __DIR__ . '/../..' . '/rules/Order/Rector/Class_/OrderPropertiesByVisibilityRector.php',
|
||||
'Rector\\Order\\StmtOrder' => __DIR__ . '/../..' . '/rules/Order/StmtOrder.php',
|
||||
'Rector\\Order\\StmtVisibilitySorter' => __DIR__ . '/../..' . '/rules/Order/StmtVisibilitySorter.php',
|
||||
'Rector\\Order\\ValueObject\\ClassConstRankeable' => __DIR__ . '/../..' . '/rules/Order/ValueObject/ClassConstRankeable.php',
|
||||
@ -3875,9 +3870,9 @@ class ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit2ae2f6e0aa81490d538740629dbe54a9::$classMap;
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInit6eb7042105862f732d268d726514ddaa::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInit6eb7042105862f732d268d726514ddaa::$prefixDirsPsr4;
|
||||
$loader->classMap = ComposerStaticInit6eb7042105862f732d268d726514ddaa::$classMap;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
|
10
vendor/scoper-autoload.php
vendored
10
vendor/scoper-autoload.php
vendored
@ -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('RectorPrefix20210618\CheckoutEntityFactory');
|
||||
}
|
||||
if (!class_exists('ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9', false) && !interface_exists('ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9', false) && !trait_exists('ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9', false)) {
|
||||
spl_autoload_call('RectorPrefix20210618\ComposerAutoloaderInit2ae2f6e0aa81490d538740629dbe54a9');
|
||||
if (!class_exists('ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa', false) && !interface_exists('ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa', false) && !trait_exists('ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa', false)) {
|
||||
spl_autoload_call('RectorPrefix20210618\ComposerAutoloaderInit6eb7042105862f732d268d726514ddaa');
|
||||
}
|
||||
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
|
||||
spl_autoload_call('RectorPrefix20210618\Doctrine\Inflector\Inflector');
|
||||
@ -3323,9 +3323,9 @@ if (!function_exists('print_node')) {
|
||||
return \RectorPrefix20210618\print_node(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('composerRequire2ae2f6e0aa81490d538740629dbe54a9')) {
|
||||
function composerRequire2ae2f6e0aa81490d538740629dbe54a9() {
|
||||
return \RectorPrefix20210618\composerRequire2ae2f6e0aa81490d538740629dbe54a9(...func_get_args());
|
||||
if (!function_exists('composerRequire6eb7042105862f732d268d726514ddaa')) {
|
||||
function composerRequire6eb7042105862f732d268d726514ddaa() {
|
||||
return \RectorPrefix20210618\composerRequire6eb7042105862f732d268d726514ddaa(...func_get_args());
|
||||
}
|
||||
}
|
||||
if (!function_exists('parseArgs')) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user