mirror of
https://github.com/rectorphp/rector.git
synced 2024-05-30 16:00:52 +00:00
[Order] Move ClassLike and Class_ rules into correct namespaces (#3969)
Co-authored-by: rector-bot <tomas@getrector.org>
This commit is contained in:
parent
d893ee7209
commit
003afc1435
|
@ -3,12 +3,12 @@
|
|||
declare(strict_types=1);
|
||||
|
||||
use Rector\Order\Rector\Class_\OrderClassConstantsByIntegerValueRector;
|
||||
use Rector\Order\Rector\Class_\OrderPrivateMethodsByUseRector;
|
||||
use Rector\Order\Rector\Class_\OrderPropertyByComplexityRector;
|
||||
use Rector\Order\Rector\Class_\OrderConstantsByVisibilityRector;
|
||||
use Rector\Order\Rector\Class_\OrderPublicInterfaceMethodRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderConstantsByVisibilityRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderMethodsByVisibilityRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderPrivateMethodsByUseRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderPropertiesByVisibilityRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderPropertyByComplexityRector;
|
||||
use Rector\Order\Rector\ClassMethod\OrderConstructorDependenciesByTypeAlphabeticallyRector;
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# All 557 Rectors Overview
|
||||
# All 559 Rectors Overview
|
||||
|
||||
- [Projects](#projects)
|
||||
---
|
||||
|
@ -36,10 +36,10 @@
|
|||
- [NetteTesterToPHPUnit](#nettetestertophpunit) (3)
|
||||
- [NetteToSymfony](#nettetosymfony) (9)
|
||||
- [NetteUtilsCodeQuality](#netteutilscodequality) (1)
|
||||
- [Order](#order) (8)
|
||||
- [Order](#order) (9)
|
||||
- [PHPOffice](#phpoffice) (14)
|
||||
- [PHPStan](#phpstan) (3)
|
||||
- [PHPUnit](#phpunit) (36)
|
||||
- [PHPUnit](#phpunit) (37)
|
||||
- [PHPUnitSymfony](#phpunitsymfony) (1)
|
||||
- [PSR4](#psr4) (3)
|
||||
- [Performance](#performance) (1)
|
||||
|
@ -7934,8 +7934,8 @@ Order class constant order by their integer value
|
|||
|
||||
### `OrderConstantsByVisibilityRector`
|
||||
|
||||
- class: [`Rector\Order\Rector\ClassLike\OrderConstantsByVisibilityRector`](/../master/rules/order/src/Rector/ClassLike/OrderConstantsByVisibilityRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/ClassLike/OrderConstantsByVisibilityRector/Fixture)
|
||||
- class: [`Rector\Order\Rector\Class_\OrderConstantsByVisibilityRector`](/../master/rules/order/src/Rector/Class_/OrderConstantsByVisibilityRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/Class_/OrderConstantsByVisibilityRector/Fixture)
|
||||
|
||||
Orders constants by visibility
|
||||
|
||||
|
@ -7977,6 +7977,28 @@ Order __constructor dependencies by type A-Z
|
|||
|
||||
<br><br>
|
||||
|
||||
### `OrderFirstLevelClassStatementsRector`
|
||||
|
||||
- class: [`Rector\Order\Rector\ClassLike\OrderFirstLevelClassStatementsRector`](/../master/rules/order/src/Rector/ClassLike/OrderFirstLevelClassStatementsRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/ClassLike/OrderFirstLevelClassStatementsRector/Fixture)
|
||||
|
||||
Orders first level Class statements
|
||||
|
||||
```diff
|
||||
final class SomeClass
|
||||
{
|
||||
+ use TraitName;
|
||||
+ private const CONST_NAME = 'constant_value';
|
||||
+ protected $propertyName;
|
||||
public function functionName();
|
||||
- protected $propertyName;
|
||||
- private const CONST_NAME = 'constant_value';
|
||||
- use TraitName;
|
||||
}
|
||||
```
|
||||
|
||||
<br><br>
|
||||
|
||||
### `OrderMethodsByVisibilityRector`
|
||||
|
||||
- class: [`Rector\Order\Rector\ClassLike\OrderMethodsByVisibilityRector`](/../master/rules/order/src/Rector/ClassLike/OrderMethodsByVisibilityRector.php)
|
||||
|
@ -7998,8 +8020,8 @@ Orders method by visibility
|
|||
|
||||
### `OrderPrivateMethodsByUseRector`
|
||||
|
||||
- class: [`Rector\Order\Rector\Class_\OrderPrivateMethodsByUseRector`](/../master/rules/order/src/Rector/Class_/OrderPrivateMethodsByUseRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/Class_/OrderPrivateMethodsByUseRector/Fixture)
|
||||
- class: [`Rector\Order\Rector\ClassLike\OrderPrivateMethodsByUseRector`](/../master/rules/order/src/Rector/ClassLike/OrderPrivateMethodsByUseRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/ClassLike/OrderPrivateMethodsByUseRector/Fixture)
|
||||
|
||||
Order private methods in order of their use
|
||||
|
||||
|
@ -8047,8 +8069,8 @@ Orders properties by visibility
|
|||
|
||||
### `OrderPropertyByComplexityRector`
|
||||
|
||||
- class: [`Rector\Order\Rector\Class_\OrderPropertyByComplexityRector`](/../master/rules/order/src/Rector/Class_/OrderPropertyByComplexityRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/Class_/OrderPropertyByComplexityRector/Fixture)
|
||||
- class: [`Rector\Order\Rector\ClassLike\OrderPropertyByComplexityRector`](/../master/rules/order/src/Rector/ClassLike/OrderPropertyByComplexityRector.php)
|
||||
- [test fixtures](/../master/rules/order/tests/Rector/ClassLike/OrderPropertyByComplexityRector/Fixture)
|
||||
|
||||
Order properties by complexity, from the simplest like scalars to the most complex, like union or collections
|
||||
|
||||
|
@ -8654,6 +8676,25 @@ Change `assertEquals()/assertNotEquals()` method parameters to new specific alte
|
|||
|
||||
<br><br>
|
||||
|
||||
### `AssertEqualsToSameRector`
|
||||
|
||||
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertEqualsToSameRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertEqualsToSameRector.php)
|
||||
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertEqualsToSameRector/Fixture)
|
||||
|
||||
Turns `assertEquals()` into stricter `assertSame()` for scalar values in PHPUnit TestCase
|
||||
|
||||
```diff
|
||||
-$this->assertEquals(2, $result, "message");
|
||||
+$this->assertSame(2, $result, "message");
|
||||
```
|
||||
|
||||
```diff
|
||||
-$this->assertEquals($aString, $result, "message");
|
||||
+$this->assertSame($aString, $result, "message");
|
||||
```
|
||||
|
||||
<br><br>
|
||||
|
||||
### `AssertFalseStrposToContainsRector`
|
||||
|
||||
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertFalseStrposToContainsRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertFalseStrposToContainsRector.php)
|
||||
|
|
|
@ -74,19 +74,6 @@ trait ArrayPartPhpDocTagPrinterTrait
|
|||
);
|
||||
}
|
||||
|
||||
private function isValueWithoutQuotes(?string $key, TagValueNodeConfiguration $tagValueNodeConfiguration): bool
|
||||
{
|
||||
if ($key === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (! array_key_exists($key, $tagValueNodeConfiguration->getKeysByQuotedStatus())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ! $tagValueNodeConfiguration->getKeysByQuotedStatus()[$key];
|
||||
}
|
||||
|
||||
private function createKeyPart(?string $key, TagValueNodeConfiguration $tagValueNodeConfiguration): string
|
||||
{
|
||||
if ($key === null) {
|
||||
|
@ -100,6 +87,19 @@ trait ArrayPartPhpDocTagPrinterTrait
|
|||
return $key . '=';
|
||||
}
|
||||
|
||||
private function isValueWithoutQuotes(?string $key, TagValueNodeConfiguration $tagValueNodeConfiguration): bool
|
||||
{
|
||||
if ($key === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (! array_key_exists($key, $tagValueNodeConfiguration->getKeysByQuotedStatus())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ! $tagValueNodeConfiguration->getKeysByQuotedStatus()[$key];
|
||||
}
|
||||
|
||||
private function quoteKeys(array $item, string $key, string $json, string $originalContent): string
|
||||
{
|
||||
foreach (array_keys($item) as $itemKey) {
|
||||
|
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
namespace Rector\Order\Rector\ClassLike;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Expr\MethodCall;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassLike;
|
||||
use PhpParser\Node\Stmt\ClassMethod;
|
||||
use PhpParser\Node\Stmt\Interface_;
|
||||
use Rector\Core\Exception\ShouldNotHappenException;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\RectorDefinition\CodeSample;
|
||||
|
@ -15,7 +17,7 @@ use Rector\Core\RectorDefinition\RectorDefinition;
|
|||
use Rector\Order\StmtOrder;
|
||||
|
||||
/**
|
||||
* @see \Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\OrderPrivateMethodsByUseRectorTest
|
||||
* @see \Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\OrderPrivateMethodsByUseRectorTest
|
||||
*/
|
||||
final class OrderPrivateMethodsByUseRector extends AbstractRector
|
||||
{
|
||||
|
@ -84,14 +86,18 @@ PHP
|
|||
*/
|
||||
public function getNodeTypes(): array
|
||||
{
|
||||
return [Class_::class];
|
||||
return [ClassLike::class];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Class_ $node
|
||||
* @param ClassLike $node
|
||||
*/
|
||||
public function refactor(Node $node): ?Node
|
||||
{
|
||||
if ($node instanceof Interface_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
[$desiredPrivateMethodCallOrder, $privateClassMethodsByKey] = $this->getPrivateMethodCallOrderAndClassMethods(
|
||||
$node
|
||||
);
|
||||
|
@ -132,21 +138,21 @@ PHP
|
|||
/**
|
||||
* @return array<int, array<int, string>>
|
||||
*/
|
||||
private function getPrivateMethodCallOrderAndClassMethods(Class_ $class): array
|
||||
private function getPrivateMethodCallOrderAndClassMethods(ClassLike $classLike): array
|
||||
{
|
||||
return [$this->getLocalPrivateMethodCallOrder($class), $this->resolvePrivateClassMethods($class)];
|
||||
return [$this->getLocalPrivateMethodCallOrder($classLike), $this->resolvePrivateClassMethods($classLike)];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<int,string>
|
||||
*/
|
||||
private function getLocalPrivateMethodCallOrder(Class_ $class): array
|
||||
private function getLocalPrivateMethodCallOrder(ClassLike $classLike): array
|
||||
{
|
||||
$localPrivateMethodCallInOrder = [];
|
||||
|
||||
$this->traverseNodesWithCallable($class->getMethods(), function (Node $node) use (
|
||||
$this->traverseNodesWithCallable($classLike->getMethods(), function (Node $node) use (
|
||||
&$localPrivateMethodCallInOrder,
|
||||
$class
|
||||
$classLike
|
||||
) {
|
||||
if (! $node instanceof MethodCall) {
|
||||
return null;
|
||||
|
@ -161,7 +167,7 @@ PHP
|
|||
return null;
|
||||
}
|
||||
|
||||
$classMethod = $class->getMethod($methodName);
|
||||
$classMethod = $classLike->getMethod($methodName);
|
||||
if ($classMethod === null) {
|
||||
return null;
|
||||
}
|
||||
|
@ -179,11 +185,11 @@ PHP
|
|||
/**
|
||||
* @return array<int, string>
|
||||
*/
|
||||
private function resolvePrivateClassMethods(Class_ $class): array
|
||||
private function resolvePrivateClassMethods(ClassLike $classLike): array
|
||||
{
|
||||
$privateClassMethods = [];
|
||||
|
||||
foreach ($class->stmts as $key => $classStmt) {
|
||||
foreach ($classLike->stmts as $key => $classStmt) {
|
||||
if (! $classStmt instanceof ClassMethod) {
|
||||
continue;
|
||||
}
|
|
@ -2,10 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
namespace Rector\Order\Rector\ClassLike;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassLike;
|
||||
use PhpParser\Node\Stmt\Interface_;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\RectorDefinition\CodeSample;
|
||||
|
@ -14,7 +15,7 @@ use Rector\Order\PropertyRanker;
|
|||
use Rector\Order\StmtOrder;
|
||||
|
||||
/**
|
||||
* @see \Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\OrderPropertyByComplexityRectorTest
|
||||
* @see \Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\OrderPropertyByComplexityRectorTest
|
||||
*/
|
||||
final class OrderPropertyByComplexityRector extends AbstractRector
|
||||
{
|
||||
|
@ -99,14 +100,18 @@ PHP
|
|||
*/
|
||||
public function getNodeTypes(): array
|
||||
{
|
||||
return [Class_::class];
|
||||
return [ClassLike::class];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Class_ $node
|
||||
* @param ClassLike $node
|
||||
*/
|
||||
public function refactor(Node $node): ?Node
|
||||
{
|
||||
if ($node instanceof Interface_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$propertyByVisibilityByPosition = $this->resolvePropertyByVisibilityByPosition($node);
|
||||
|
||||
foreach ($propertyByVisibilityByPosition as $propertyByPosition) {
|
||||
|
@ -135,10 +140,10 @@ PHP
|
|||
/**
|
||||
* @return Property[][]
|
||||
*/
|
||||
private function resolvePropertyByVisibilityByPosition(Class_ $class): array
|
||||
private function resolvePropertyByVisibilityByPosition(ClassLike $classLike): array
|
||||
{
|
||||
$propertyByVisibilityByPosition = [];
|
||||
foreach ($class->stmts as $position => $classStmt) {
|
||||
foreach ($classLike->stmts as $position => $classStmt) {
|
||||
if (! $classStmt instanceof Property) {
|
||||
continue;
|
||||
}
|
|
@ -2,13 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Rector\ClassLike;
|
||||
namespace Rector\Order\Rector\Class_;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassConst;
|
||||
use PhpParser\Node\Stmt\ClassLike;
|
||||
use PhpParser\Node\Stmt\Interface_;
|
||||
use PhpParser\Node\Stmt\Trait_;
|
||||
use Rector\Core\Rector\AbstractRector;
|
||||
use Rector\Core\RectorDefinition\CodeSample;
|
||||
use Rector\Core\RectorDefinition\RectorDefinition;
|
||||
|
@ -16,7 +14,7 @@ use Rector\Order\StmtOrder;
|
|||
use Rector\Order\StmtVisibilitySorter;
|
||||
|
||||
/**
|
||||
* @see \Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector\OrderConstantsByVisibilityRectorTest
|
||||
* @see \Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector\OrderConstantsByVisibilityRectorTest
|
||||
*/
|
||||
final class OrderConstantsByVisibilityRector extends AbstractRector
|
||||
{
|
||||
|
@ -68,22 +66,14 @@ PHP
|
|||
*/
|
||||
public function getNodeTypes(): array
|
||||
{
|
||||
return [ClassLike::class];
|
||||
return [Class_::class];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ClassLike $node
|
||||
* @param Class_ $node
|
||||
*/
|
||||
public function refactor(Node $node): ?Node
|
||||
{
|
||||
if ($node instanceof Interface_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if ($node instanceof Trait_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$currentPropertiesOrder = $this->stmtOrder->getStmtsOfTypeOrder($node, ClassConst::class);
|
||||
$propertiesInDesiredOrder = $this->getPropertiesInDesiredPosition($node);
|
||||
|
||||
|
@ -95,9 +85,9 @@ PHP
|
|||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
private function getPropertiesInDesiredPosition(ClassLike $classLike): array
|
||||
private function getPropertiesInDesiredPosition(Class_ $class): array
|
||||
{
|
||||
$constants = $this->stmtVisibilitySorter->sortConstants($classLike);
|
||||
$constants = $this->stmtVisibilitySorter->sortConstants($class);
|
||||
|
||||
return array_keys($constants);
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
class DifferentAmountOfMethodsClass
|
||||
{
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
class SomeClass
|
||||
{
|
||||
|
@ -23,7 +23,7 @@ class SomeClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
class SomeClass
|
||||
{
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
class MultiCall
|
||||
{
|
||||
|
@ -28,7 +28,7 @@ class MultiCall
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
class MultiCall
|
||||
{
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Param;
|
||||
|
@ -84,7 +84,7 @@ class MultipleRunsClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector\Fixture;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Param;
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPrivateMethodsByUseRector;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPrivateMethodsByUseRector;
|
||||
|
||||
use Iterator;
|
||||
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
|
||||
use Rector\Order\Rector\Class_\OrderPrivateMethodsByUseRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderPrivateMethodsByUseRector;
|
||||
use Symplify\SmartFileSystem\SmartFileInfo;
|
||||
|
||||
final class OrderPrivateMethodsByUseRectorTest extends AbstractRectorTestCase
|
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\AnotherSimpleType;
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\AnotherSimpleType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class ComplexTypes
|
||||
{
|
||||
|
@ -64,10 +64,10 @@ class ComplexTypes
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\AnotherSimpleType;
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\AnotherSimpleType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class ComplexTypes
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class SomeClass
|
||||
{
|
||||
|
@ -26,9 +26,9 @@ class SomeClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class SomeClass
|
||||
{
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class SkipCorrect
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $startIndex;
|
||||
|
||||
/**
|
||||
* @var \DateTime|null
|
||||
*/
|
||||
private $startBracketIndex;
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
class VisibilityClass
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ class VisibilityClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
class VisibilityClass
|
||||
{
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector;
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector;
|
||||
|
||||
use Iterator;
|
||||
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
|
||||
use Rector\Order\Rector\Class_\OrderPropertyByComplexityRector;
|
||||
use Rector\Order\Rector\ClassLike\OrderPropertyByComplexityRector;
|
||||
use Symplify\SmartFileSystem\SmartFileInfo;
|
||||
|
||||
final class OrderPropertyByComplexityRectorTest extends AbstractRectorTestCase
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source;
|
||||
|
||||
final class AnotherSimpleType
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderPropertyByComplexityRector\Source;
|
||||
|
||||
final class ComplexType
|
||||
{
|
||||
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector\Fixture;
|
||||
|
||||
abstract class AbstractClass
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ abstract class AbstractClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector\Fixture;
|
||||
|
||||
abstract class AbstractClass
|
||||
{
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector\Fixture;
|
||||
|
||||
final class SomeClass
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ final class SomeClass
|
|||
-----
|
||||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector\Fixture;
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector\Fixture;
|
||||
|
||||
final class SomeClass
|
||||
{
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\ClassLike\OrderConstantsByVisibilityRector;
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderConstantsByVisibilityRector;
|
||||
|
||||
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
|
||||
use Rector\Order\Rector\ClassLike\OrderConstantsByVisibilityRector;
|
||||
use Rector\Order\Rector\Class_\OrderConstantsByVisibilityRector;
|
||||
use Symplify\SmartFileSystem\SmartFileInfo;
|
||||
|
||||
final class OrderConstantsByVisibilityRectorTest extends AbstractRectorTestCase
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Fixture;
|
||||
|
||||
use Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source\ComplexType;
|
||||
|
||||
class SkipCorrect
|
||||
{
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $startIndex;
|
||||
|
||||
/**
|
||||
* @var \DateTime|null
|
||||
*/
|
||||
private $startBracketIndex;
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source;
|
||||
|
||||
final class AnotherSimpleType
|
||||
{
|
||||
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Rector\Order\Tests\Rector\Class_\OrderPropertyByComplexityRector\Source;
|
||||
|
||||
final class ComplexType
|
||||
{
|
||||
|
||||
}
|
|
@ -132,29 +132,6 @@ trait ComplexRemovalTrait
|
|||
$this->removeNode($property);
|
||||
}
|
||||
|
||||
private function removeAssignNode(Assign $assign): void
|
||||
{
|
||||
$currentStatement = $assign->getAttribute(AttributeKey::CURRENT_STATEMENT);
|
||||
$this->addLivingCodeBeforeNode($assign->var, $currentStatement);
|
||||
|
||||
/** @var Assign $assign */
|
||||
$parent = $assign->getAttribute(AttributeKey::PARENT_NODE);
|
||||
if ($parent instanceof Expression) {
|
||||
$this->addLivingCodeBeforeNode($assign->expr, $currentStatement);
|
||||
$this->removeNode($assign);
|
||||
} else {
|
||||
$this->nodesToReplaceCollector->addReplaceNodeWithAnotherNode($assign, $assign->expr);
|
||||
$this->rectorChangeCollector->notifyNodeFileInfo($assign->expr);
|
||||
}
|
||||
}
|
||||
|
||||
private function addLivingCodeBeforeNode(Expr $expr, Node $addBeforeThisNode): void
|
||||
{
|
||||
foreach ($this->livingCodeManipulator->keepLivingCodeFromExpr($expr) as $expr) {
|
||||
$this->addNodeBeforeNode(new Expression($expr), $addBeforeThisNode);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param MethodCall|StaticCall $node
|
||||
*/
|
||||
|
@ -205,6 +182,22 @@ trait ComplexRemovalTrait
|
|||
return $assign;
|
||||
}
|
||||
|
||||
private function removeAssignNode(Assign $assign): void
|
||||
{
|
||||
$currentStatement = $assign->getAttribute(AttributeKey::CURRENT_STATEMENT);
|
||||
$this->addLivingCodeBeforeNode($assign->var, $currentStatement);
|
||||
|
||||
/** @var Assign $assign */
|
||||
$parent = $assign->getAttribute(AttributeKey::PARENT_NODE);
|
||||
if ($parent instanceof Expression) {
|
||||
$this->addLivingCodeBeforeNode($assign->expr, $currentStatement);
|
||||
$this->removeNode($assign);
|
||||
} else {
|
||||
$this->nodesToReplaceCollector->addReplaceNodeWithAnotherNode($assign, $assign->expr);
|
||||
$this->rectorChangeCollector->notifyNodeFileInfo($assign->expr);
|
||||
}
|
||||
}
|
||||
|
||||
private function removeConstructorDependency(Assign $assign): void
|
||||
{
|
||||
$methodName = $assign->getAttribute(AttributeKey::METHOD_NAME);
|
||||
|
@ -231,4 +224,11 @@ trait ComplexRemovalTrait
|
|||
$this->removeNode($param);
|
||||
}
|
||||
}
|
||||
|
||||
private function addLivingCodeBeforeNode(Expr $expr, Node $addBeforeThisNode): void
|
||||
{
|
||||
foreach ($this->livingCodeManipulator->keepLivingCodeFromExpr($expr) as $expr) {
|
||||
$this->addNodeBeforeNode(new Expression($expr), $addBeforeThisNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user