FunctionTo* correction renames, add PHPStan rule to check correct category of rule (#3896)

* rename Function* to Func* rector rule

* [Utils] Add RequireRectorCategoryByGetNodeTypesRule

* [PHPUnit] Rename SpecificMethod to MethodCall category to respect subscriberd nodes

* [rector] [PHPUnit] Rename SpecificMethod to MethodCall category to respect subscriberd nodes

Co-authored-by: rector-bot <tomas@getrector.org>
This commit is contained in:
Tomas Votruba 2020-08-04 12:02:17 +02:00 committed by GitHub
parent 7cda57615c
commit 3ddf965146
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 381 additions and 124 deletions

View File

@ -10,7 +10,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services->set(FuncCallToStaticCallRector::class)
->call('configure', [[
FuncCallToStaticCallRector::FUNCTION_TO_STATIC_CALL => [
FuncCallToStaticCallRector::FUNC_CALLS_TO_STATIC_CALLS => [
'array_add' => [
# Arr
'Illuminate\Support\Arr',

View File

@ -20,7 +20,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services->set(FuncCallToStaticCallRector::class)
->call('configure', [[
FuncCallToStaticCallRector::FUNCTION_TO_STATIC_CALL => [
FuncCallToStaticCallRector::FUNC_CALLS_TO_STATIC_CALLS => [
'file_get_contents' => ['Nette\Utils\FileSystem', 'read'],
'unlink' => ['Nette\Utils\FileSystem', 'delete'],
'rmdir' => ['Nette\Utils\FileSystem', 'delete'],

View File

@ -3,17 +3,17 @@
declare(strict_types=1);
use Rector\PHPUnit\Rector\Foreach_\SimplifyForeachInstanceOfRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertCompareToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertFalseStrposToContainsRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertInstanceOfComparisonRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertIssetToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertNotOperatorRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertPropertyExistsRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertRegExpRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertCompareToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertFalseStrposToContainsRector;
use Rector\PHPUnit\Rector\MethodCall\AssertInstanceOfComparisonRector;
use Rector\PHPUnit\Rector\MethodCall\AssertIssetToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertNotOperatorRector;
use Rector\PHPUnit\Rector\MethodCall\AssertPropertyExistsRector;
use Rector\PHPUnit\Rector\MethodCall\AssertRegExpRector;
use Rector\PHPUnit\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {

View File

@ -4921,7 +4921,7 @@ use Rector\Generic\Rector\FuncCall\FuncCallToStaticCallRector;
return function (ContainerConfigurator $containerConfigurator) : void {
$services = $containerConfigurator->services();
$services->set(FuncCallToStaticCallRector::class)
->call('configure', [[FuncCallToStaticCallRector::FUNCTION_TO_STATIC_CALL, ['view' => ['SomeStaticClass', 'render']]]]);
->call('configure', [[FuncCallToStaticCallRector::FUNC_CALLS_TO_STATIC_CALLS, ['view' => ['SomeStaticClass', 'render']]]]);
};
```
@ -8315,8 +8315,8 @@ return function (ContainerConfigurator $containerConfigurator) : void {
### `AssertCompareToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertCompareToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertCompareToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertCompareToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertCompareToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertCompareToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertCompareToSpecificMethodRector/Fixture)
Turns vague php-only method in PHPUnit TestCase to more specific
@ -8334,8 +8334,8 @@ Turns vague php-only method in PHPUnit TestCase to more specific
### `AssertComparisonToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertComparisonToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertComparisonToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertComparisonToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertComparisonToSpecificMethodRector/Fixture)
Turns comparison operations to their method name alternatives in PHPUnit TestCase
@ -8383,8 +8383,8 @@ Change `assertEquals()/assertNotEquals()` method parameters to new specific alte
### `AssertFalseStrposToContainsRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertFalseStrposToContainsRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertFalseStrposToContainsRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertFalseStrposToContainsRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertFalseStrposToContainsRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertFalseStrposToContainsRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertFalseStrposToContainsRector/Fixture)
Turns `strpos`/`stripos` comparisons to their method name alternatives in PHPUnit TestCase
@ -8402,8 +8402,8 @@ Turns `strpos`/`stripos` comparisons to their method name alternatives in PHPUni
### `AssertInstanceOfComparisonRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertInstanceOfComparisonRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertInstanceOfComparisonRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertInstanceOfComparisonRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertInstanceOfComparisonRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertInstanceOfComparisonRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertInstanceOfComparisonRector/Fixture)
Turns instanceof comparisons to their method name alternatives in PHPUnit TestCase
@ -8421,8 +8421,8 @@ Turns instanceof comparisons to their method name alternatives in PHPUnit TestCa
### `AssertIssetToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertIssetToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertIssetToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertIssetToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertIssetToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertIssetToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertIssetToSpecificMethodRector/Fixture)
Turns isset comparisons to their method name alternatives in PHPUnit TestCase
@ -8440,8 +8440,8 @@ Turns isset comparisons to their method name alternatives in PHPUnit TestCase
### `AssertNotOperatorRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertNotOperatorRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertNotOperatorRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertNotOperatorRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertNotOperatorRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertNotOperatorRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertNotOperatorRector/Fixture)
Turns not-operator comparisons to their method name alternatives in PHPUnit TestCase
@ -8459,8 +8459,8 @@ Turns not-operator comparisons to their method name alternatives in PHPUnit Test
### `AssertPropertyExistsRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertPropertyExistsRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertPropertyExistsRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertPropertyExistsRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertPropertyExistsRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertPropertyExistsRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertPropertyExistsRector/Fixture)
Turns `property_exists` comparisons to their method name alternatives in PHPUnit TestCase
@ -8478,8 +8478,8 @@ Turns `property_exists` comparisons to their method name alternatives in PHPUnit
### `AssertRegExpRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertRegExpRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertRegExpRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertRegExpRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertRegExpRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertRegExpRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertRegExpRector/Fixture)
Turns `preg_match` comparisons to their method name alternatives in PHPUnit TestCase
@ -8497,8 +8497,8 @@ Turns `preg_match` comparisons to their method name alternatives in PHPUnit Test
### `AssertSameBoolNullToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertSameBoolNullToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertSameBoolNullToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertSameBoolNullToSpecificMethodRector/Fixture)
Turns same bool and null comparisons to their method name alternatives in PHPUnit TestCase
@ -8516,8 +8516,8 @@ Turns same bool and null comparisons to their method name alternatives in PHPUni
### `AssertTrueFalseInternalTypeToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertTrueFalseInternalTypeToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertTrueFalseInternalTypeToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertTrueFalseInternalTypeToSpecificMethodRector/Fixture)
Turns true/false with internal type comparisons to their method name alternatives in PHPUnit TestCase
@ -8535,8 +8535,8 @@ Turns true/false with internal type comparisons to their method name alternative
### `AssertTrueFalseToSpecificMethodRector`
- class: [`Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/SpecificMethod/AssertTrueFalseToSpecificMethodRector/Fixture)
- class: [`Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector`](/../master/rules/phpunit/src/Rector/MethodCall/AssertTrueFalseToSpecificMethodRector.php)
- [test fixtures](/../master/rules/phpunit/tests/Rector/MethodCall/AssertTrueFalseToSpecificMethodRector/Fixture)
Turns true/false comparisons to their method name alternatives in PHPUnit TestCase when possible

View File

@ -19,7 +19,7 @@ final class FuncCallToStaticCallRector extends AbstractRector implements Configu
/**
* @var string
*/
public const FUNCTION_TO_STATIC_CALL = '$functionToStaticCall';
public const FUNC_CALLS_TO_STATIC_CALLS = 'func_calls_to_static_calls';
/**
* @var string[]
@ -33,7 +33,7 @@ final class FuncCallToStaticCallRector extends AbstractRector implements Configu
'view("...", []);',
'SomeClass::render("...", []);',
[
self::FUNCTION_TO_STATIC_CALL => [
self::FUNC_CALLS_TO_STATIC_CALLS => [
'view' => ['SomeStaticClass', 'render'],
],
]
@ -69,6 +69,6 @@ final class FuncCallToStaticCallRector extends AbstractRector implements Configu
public function configure(array $configuration): void
{
$this->functionToStaticCall = $configuration[self::FUNCTION_TO_STATIC_CALL] ?? [];
$this->functionToStaticCall = $configuration[self::FUNC_CALLS_TO_STATIC_CALLS] ?? [];
}
}

View File

@ -31,7 +31,7 @@ final class FuncCallToStaticCallRectorTest extends AbstractRectorTestCase
{
return [
FuncCallToStaticCallRector::class => [
FuncCallToStaticCallRector::FUNCTION_TO_STATIC_CALL => [
FuncCallToStaticCallRector::FUNC_CALLS_TO_STATIC_CALLS => [
'view' => ['SomeStaticClass', 'render'],
'SomeNamespaced\view' => ['AnotherStaticClass', 'render'],
],

View File

@ -6,9 +6,9 @@ namespace Rector\Generic\Tests\Rector\RectorOrder;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertFalseStrposToContainsRector;
use Rector\PHPUnit\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertFalseStrposToContainsRector;
use Rector\PHPUnit\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
/**

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -15,7 +15,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\AssertCompareToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\AssertCompareToSpecificMethodRectorTest
*/
final class AssertCompareToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -26,7 +26,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector\AssertComparisonToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertComparisonToSpecificMethodRector\AssertComparisonToSpecificMethodRectorTest
*/
final class AssertComparisonToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
@ -14,7 +14,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertFalseStrposToContainsRector\AssertFalseStrposToContainsRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertFalseStrposToContainsRector\AssertFalseStrposToContainsRectorTest
*/
final class AssertFalseStrposToContainsRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -15,7 +15,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertInstanceOfComparisonRector\AssertInstanceOfComparisonRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertInstanceOfComparisonRector\AssertInstanceOfComparisonRectorTest
*/
final class AssertInstanceOfComparisonRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr;
@ -18,7 +18,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertIssetToSpecificMethodRector\AssertIssetToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertIssetToSpecificMethodRector\AssertIssetToSpecificMethodRectorTest
*/
final class AssertIssetToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -15,7 +15,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertNotOperatorRector\AssertNotOperatorRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertNotOperatorRector\AssertNotOperatorRectorTest
*/
final class AssertNotOperatorRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\FuncCall;
@ -17,7 +17,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\AssertPropertyExistsRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\AssertPropertyExistsRectorTest
*/
final class AssertPropertyExistsRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\ConstFetch;
@ -17,7 +17,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertRegExpRector\AssertRegExpRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertRegExpRector\AssertRegExpRectorTest
*/
final class AssertRegExpRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Expr\ConstFetch;
@ -15,7 +15,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector\AssertSameBoolNullToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector\AssertSameBoolNullToSpecificMethodRectorTest
*/
final class AssertSameBoolNullToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -16,7 +16,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector\AssertTrueFalseInternalTypeToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector\AssertTrueFalseInternalTypeToSpecificMethodRectorTest
*/
final class AssertTrueFalseInternalTypeToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Rector\SpecificMethod;
namespace Rector\PHPUnit\Rector\MethodCall;
use PhpParser\Node;
use PhpParser\Node\Arg;
@ -16,7 +16,7 @@ use Rector\Core\RectorDefinition\CodeSample;
use Rector\Core\RectorDefinition\RectorDefinition;
/**
* @see \Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\AssertTrueFalseToSpecificMethodRectorTest
* @see \Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\AssertTrueFalseToSpecificMethodRectorTest
*/
final class AssertTrueFalseToSpecificMethodRector extends AbstractPHPUnitRector
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertCompareToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertCompareToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertCompareToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
final class Count extends \PHPUnit\Framework\TestCase
{
@ -18,7 +18,7 @@ final class Count extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
final class Count extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
final class MyAssertCompareTest extends \PHPUnit\Framework\TestCase
{
@ -19,7 +19,7 @@ final class MyAssertCompareTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
final class MyAssertCompareTest extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
use stdClass;
@ -18,7 +18,7 @@ final class GetClass extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertCompareToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertCompareToSpecificMethodRector\Fixture;
use stdClass;

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertComparisonToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertComparisonToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertComparisonToSpecificMethodRector\Fixture;
final class MyEqualsTest extends \PHPUnit\Framework\TestCase
{
@ -21,7 +21,7 @@ final class MyEqualsTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertComparisonToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertComparisonToSpecificMethodRector\Fixture;
final class MyEqualsTest extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertFalseStrposToContainsRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertFalseStrposToContainsRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertFalseStrposToContainsRector;
use Rector\PHPUnit\Rector\MethodCall\AssertFalseStrposToContainsRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertFalseStrposToContainsRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertFalseStrposToContainsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertFalseStrposToContainsRector\Fixture;
final class MyContainsStrposTest extends \PHPUnit\Framework\TestCase
{
@ -15,7 +15,7 @@ final class MyContainsStrposTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertFalseStrposToContainsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertFalseStrposToContainsRector\Fixture;
final class MyContainsStrposTest extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertFalseStrposToContainsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertFalseStrposToContainsRector\Fixture;
final class SkipStaticCall extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertInstanceOfComparisonRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertInstanceOfComparisonRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertInstanceOfComparisonRector;
use Rector\PHPUnit\Rector\MethodCall\AssertInstanceOfComparisonRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertInstanceOfComparisonRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertInstanceOfComparisonRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertInstanceOfComparisonRector\Fixture;
use Foo\Bar;
@ -18,7 +18,7 @@ final class MyOfComparissonTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertInstanceOfComparisonRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertInstanceOfComparisonRector\Fixture;
use Foo\Bar;

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertIssetToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertIssetToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertIssetToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertIssetToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertIssetToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertIssetToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertIssetToSpecificMethodRector\Fixture;
final class MyIssetTest extends \PHPUnit\Framework\TestCase
{
@ -17,7 +17,7 @@ final class MyIssetTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertIssetToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertIssetToSpecificMethodRector\Fixture;
final class MyIssetTest extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertNotOperatorRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertNotOperatorRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertNotOperatorRector;
use Rector\PHPUnit\Rector\MethodCall\AssertNotOperatorRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertNotOperatorRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertNotOperatorRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertNotOperatorRector\Fixture;
final class MyNotOperatorTest extends \PHPUnit\Framework\TestCase
{
@ -16,7 +16,7 @@ final class MyNotOperatorTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertNotOperatorRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertNotOperatorRector\Fixture;
final class MyNotOperatorTest extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertPropertyExistsRector;
use Rector\PHPUnit\Rector\MethodCall\AssertPropertyExistsRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertPropertyExistsRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\Fixture;
use PHPUnit\Framework\TestCase;
@ -17,7 +17,7 @@ final class MyAssertPropertyExistTest extends TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\Fixture;
use PHPUnit\Framework\TestCase;

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\Fixture;
final class MyTest2 extends \PHPUnit\Framework\TestCase
{
@ -15,7 +15,7 @@ final class MyTest2 extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\Fixture;
final class MyTest2 extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertPropertyExistsRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertPropertyExistsRector\Fixture;
final class SkipStaticCall extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertRegExpRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertRegExpRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertRegExpRector;
use Rector\PHPUnit\Rector\MethodCall\AssertRegExpRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertRegExpRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertRegExpRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertRegExpRector\Fixture;
final class MyTest extends \PHPUnit\Framework\TestCase
{
@ -17,7 +17,7 @@ final class MyTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertRegExpRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertRegExpRector\Fixture;
final class MyTest extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertRegExpRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertRegExpRector\Fixture;
use PHPUnit\Framework\TestCase;

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertSameBoolNullToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector\Fixture;
final class MyTest extends \PHPUnit\Framework\TestCase
{
@ -15,7 +15,7 @@ final class MyTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertSameBoolNullToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertSameBoolNullToSpecificMethodRector\Fixture;
final class MyTest extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertTrueFalseInternalTypeToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
final class MyIsTypeTest extends \PHPUnit\Framework\TestCase
{
@ -21,7 +21,7 @@ final class MyIsTypeTest extends \PHPUnit\Framework\TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
final class MyIsTypeTest extends \PHPUnit\Framework\TestCase
{

View File

@ -2,7 +2,7 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseInternalTypeToSpecificMethodRector\Fixture;
final class Fixture2Test extends \PHPUnit\Framework\TestCase
{

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector;
use Iterator;
use Rector\Core\Testing\PHPUnit\AbstractRectorTestCase;
use Rector\PHPUnit\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector;
use Rector\PHPUnit\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector;
use Symplify\SmartFileSystem\SmartFileInfo;
final class AssertTrueFalseToSpecificMethodRectorTest extends AbstractRectorTestCase

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
abstract class Testing extends \PHPUnit\Framework\TestCase
{
@ -30,7 +30,7 @@ final class MyTest extends Testing
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
abstract class Testing extends \PHPUnit\Framework\TestCase
{

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
use PHPUnit\Framework\TestCase;
@ -17,7 +17,7 @@ final class MyTest2 extends TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
use PHPUnit\Framework\TestCase;

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
use PHPUnit\Framework\TestCase;
@ -16,7 +16,7 @@ final class IsReadable extends TestCase
-----
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
use PHPUnit\Framework\TestCase;

View File

@ -1,6 +1,6 @@
<?php
namespace Rector\PHPUnit\Tests\Rector\SpecificMethod\AssertTrueFalseToSpecificMethodRector\Fixture;
namespace Rector\PHPUnit\Tests\Rector\MethodCall\AssertTrueFalseToSpecificMethodRector\Fixture;
final class SkipStaticCall extends \PHPUnit\Framework\TestCase
{

View File

@ -1,4 +1,9 @@
services:
# prepared for Igor
# -
# class: Rector\PHPStanExtensions\Rule\RequireRectorCategoryByGetNodeTypesRule
# tags: [phpstan.rules.rule]
-
class: Rector\PHPStanExtensions\Rule\PreventParentMethodVisibilityOverrideRule
tags: [phpstan.rules.rule]

View File

@ -0,0 +1,130 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Rule;
use PhpParser\Node;
use PhpParser\Node\Expr\ClassConstFetch;
use PhpParser\Node\Name\FullyQualified;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\NodeFinder;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ClassReflection;
use PHPStan\Rules\Rule;
use Rector\Core\Exception\ShouldNotHappenException;
/**
* @see \Rector\PHPStanExtensions\Tests\Rule\KeepRectorNamespaceForRectorRule\KeepRectorNamespaceForRectorRuleTest
*/
final class RequireRectorCategoryByGetNodeTypesRule implements Rule
{
/**
* @var string
*/
public const ERROR_MESSAGE = 'Class "%s" has invalid namespace category "%s". Pick one of: "%s"';
public function getNodeType(): string
{
return ClassMethod::class;
}
/**
* @param ClassMethod $node
* @return string[]
*/
public function processNode(Node $node, Scope $scope): array
{
$rectorClassReflection = $this->resolveRectorClassReflection($node, $scope);
if ($rectorClassReflection === null) {
return [];
}
$currentRectorCategory = $this->resolveRectorCategory($rectorClassReflection);
$allowedRectorCategories = $this->resolveAllowedNodeCategories($node);
if (in_array($currentRectorCategory, $allowedRectorCategories, true)) {
return [];
}
$errorMessage = sprintf(
self::ERROR_MESSAGE,
$rectorClassReflection->getName(),
$currentRectorCategory,
implode('", ', $allowedRectorCategories)
);
return [$errorMessage];
}
private function resolveRectorCategory(ClassReflection $classReflection): string
{
$nameParts = explode('\\', $classReflection->getName());
array_pop($nameParts);
$categoryPart = array_pop($nameParts);
if ($categoryPart === null) {
throw new ShouldNotHappenException();
}
return $categoryPart;
}
/**
* @return string[]
*/
private function resolveAllowedNodeCategories(ClassMethod $classMethod): array
{
$nodeFinder = new NodeFinder();
/** @var ClassConstFetch[] $classConstFetches */
$classConstFetches = $nodeFinder->findInstanceOf((array) $classMethod->stmts, ClassConstFetch::class);
$allowedRectorCategories = [];
foreach ($classConstFetches as $classConstFetch) {
if (! $classConstFetch->class instanceof FullyQualified) {
continue;
}
$allowedRectorCategories[] = $classConstFetch->class->getLast();
}
// add parent class categories
$functionLikeCandidateCount = 0;
foreach ($allowedRectorCategories as $allowedRectorCategory) {
if (! in_array($allowedRectorCategory, ['ClassMethod', 'Function_', 'Closure', 'ArrowFunction'], true)) {
continue;
}
++$functionLikeCandidateCount;
}
if ($functionLikeCandidateCount > 1) {
$allowedRectorCategories[] = 'FunctionLike';
}
return $allowedRectorCategories;
}
private function resolveRectorClassReflection(ClassMethod $classMethod, Scope $scope): ?ClassReflection
{
if ($classMethod->name->toString() !== 'getNodeTypes') {
return null;
}
$classReflection = $scope->getClassReflection();
if ($classReflection === null) {
return null;
}
if ($classReflection->isInterface()) {
return null;
}
if ($classReflection->isAbstract()) {
return null;
}
return $classReflection;
}
}

View File

@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule\Fixture;
use PhpParser\Node\Stmt\ClassMethod;
abstract class AbstractSkip
{
public function getNodeTypes(): array
{
return [ClassMethod::class];
}
}

View File

@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule\Fixture\ClassMethod;
use PhpParser\Node;
use PhpParser\Node\Scalar\String_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\RectorDefinition\RectorDefinition;
final class ChangeSomethingRector extends AbstractRector
{
public function getNodeTypes(): array
{
return [String_::class];
}
public function refactor(Node $node): ?Node
{
}
public function getDefinition(): RectorDefinition
{
}
}

View File

@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule\Fixture\ClassMethod;
interface SkipInterface
{
public function getNodeTypes(): array;
}

View File

@ -0,0 +1,27 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule\Fixture\FunctionLike;
use PhpParser\Node;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Function_;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\RectorDefinition\RectorDefinition;
final class SkipSubtypeRector extends AbstractRector
{
public function getNodeTypes(): array
{
return [ClassMethod::class, Function_::class];
}
public function refactor(Node $node): ?Node
{
}
public function getDefinition(): RectorDefinition
{
}
}

View File

@ -0,0 +1,44 @@
<?php
declare(strict_types=1);
namespace Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule;
use Iterator;
use PHPStan\Rules\Rule;
use PHPStan\Testing\RuleTestCase;
use Rector\PHPStanExtensions\Rule\RequireRectorCategoryByGetNodeTypesRule;
use Rector\PHPStanExtensions\Tests\Rule\RequireRectorCategoryByGetNodeTypesRule\Fixture\ClassMethod\ChangeSomethingRector;
final class RequireRectorCategoryByGetNodeTypesRuleTest extends RuleTestCase
{
/**
* @dataProvider provideData()
*/
public function testRule(string $filePath, array $expectedErrorsWithLines): void
{
$this->analyse([$filePath], $expectedErrorsWithLines);
}
public function provideData(): Iterator
{
$errorMessage = sprintf(
RequireRectorCategoryByGetNodeTypesRule::ERROR_MESSAGE,
ChangeSomethingRector::class,
'ClassMethod',
'String_'
);
yield [__DIR__ . '/Fixture/ClassMethod/ChangeSomethingRector.php', [[$errorMessage, 14]]];
yield [__DIR__ . '/Fixture/FunctionLike/SkipSubtypeRector.php', []];
yield [__DIR__ . '/Fixture/ClassMethod/SkipInterface.php', []];
yield [__DIR__ . '/Fixture/AbstractSkip.php', []];
}
protected function getRule(): Rule
{
return new RequireRectorCategoryByGetNodeTypesRule();
}
}