Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -505,3 +505,10 @@ parameters:
-
message: '#"@\\simplexml_load_string\(\$junitXml\)" is forbidden to use#'
path: scripts/remove-unused-deps.php

# It is difficult to make automatic type inference
-
message: '#^Method Rector\\Rector\\AbstractRector\:\:cloneNode\(\) should return TClonedNode of PhpParser\\Node but returns PhpParser\\Node\.$#'
identifier: return.type
count: 1
path: src/Rector/AbstractRector.php
4 changes: 4 additions & 0 deletions rector.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\Php84\Rector\Class_\DeprecatedAnnotationToDeprecatedAttributeRector;
use Rector\Symfony\Symfony61\Rector\Class_\CommandConfigureToAttributeRector;
use Rector\TypeDeclarationDocblocks\Rector\Class_\AddParamTypeToRefactorMethodRector;

return RectorConfig::configure()
->withPreparedSets(
Expand Down Expand Up @@ -67,4 +68,7 @@

// keep @deprecated annotation, as readable in IDE and tooling
DeprecatedAnnotationToDeprecatedAttributeRector::class => [__DIR__ . '/src/Set/ValueObject/SetList.php'],

// This is no longer necessary, as generics have appeared in `AbstractRector`.
AddParamTypeToRefactorMethodRector::class,
]);
8 changes: 2 additions & 6 deletions rules/Arguments/Rector/ClassMethod/ArgumentAdderRector.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
use Webmozart\Assert\Assert;

/**
* @extends AbstractRector<MethodCall|StaticCall|Class_>
* @implements ConfigurableRectorInterface<MethodCall|StaticCall|Class_>
* @see \Rector\Tests\Arguments\Rector\ClassMethod\ArgumentAdderRector\ArgumentAdderRectorTest
*/
final class ArgumentAdderRector extends AbstractRector implements ConfigurableRectorInterface
Expand Down Expand Up @@ -100,17 +102,11 @@ public function someMethod($value = true)
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [MethodCall::class, StaticCall::class, Class_::class];
}

/**
* @param MethodCall|StaticCall|Class_ $node
*/
public function refactor(Node $node): MethodCall|StaticCall|Class_|null
{
$this->hasChanged = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
use Webmozart\Assert\Assert;

/**
* @extends AbstractRector<MethodCall|StaticCall|ClassMethod|New_>
* @implements ConfigurableRectorInterface<MethodCall|StaticCall|ClassMethod|New_>
* @api used in rector-symfony
* @see \Rector\Tests\Arguments\Rector\ClassMethod\ReplaceArgumentDefaultValueRector\ReplaceArgumentDefaultValueRectorTest
*/
Expand Down Expand Up @@ -64,17 +66,11 @@ public function getRuleDefinition(): RuleDefinition
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [MethodCall::class, StaticCall::class, ClassMethod::class, New_::class];
}

/**
* @param MethodCall|StaticCall|ClassMethod|New_ $node
*/
public function refactor(Node $node): MethodCall|StaticCall|ClassMethod|New_|null
{
if ($node instanceof New_) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
use Webmozart\Assert\Assert;

/**
* @extends AbstractRector<FuncCall>
* @implements ConfigurableRectorInterface<FuncCall>
* @see \Rector\Tests\Arguments\Rector\FuncCall\FunctionArgumentDefaultValueReplacerRector\FunctionArgumentDefaultValueReplacerRectorTest
*/
final class FunctionArgumentDefaultValueReplacerRector extends AbstractRector implements ConfigurableRectorInterface
Expand Down Expand Up @@ -47,17 +49,11 @@ public function getRuleDefinition(): RuleDefinition
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [FuncCall::class];
}

/**
* @param FuncCall $node
*/
public function refactor(Node $node): FuncCall|null
{
$hasChanged = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
use Webmozart\Assert\Assert;

/**
* @extends AbstractRector<MethodCall|StaticCall>
* @implements ConfigurableRectorInterface<MethodCall|StaticCall>
* @note used extensively https://github.com/search?q=RemoveMethodCallParamRector%3A%3Aclass+language%3APHP&type=code&l=PHP
* @see \Rector\Tests\Arguments\Rector\MethodCall\RemoveMethodCallParamRector\RemoveMethodCallParamRectorTest
*/
Expand Down Expand Up @@ -65,17 +67,11 @@ public function run(Caller $caller)
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [MethodCall::class, StaticCall::class];
}

/**
* @param MethodCall|StaticCall $node
*/
public function refactor(Node $node): ?Node
{
$hasChanged = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
use Webmozart\Assert\Assert;

/**
* @extends AbstractRector<ClassMethod>
* @implements ConfigurableRectorInterface<ClassMethod>
* @experimental Check generic array key/value types in runtime with assert. Generics for impatient people.
*
* @see \Rector\Tests\Assert\Rector\ClassMethod\AddAssertArrayFromClassMethodDocblockRector\AddAssertArrayFromClassMethodDocblockRectorTest
Expand Down Expand Up @@ -98,9 +100,6 @@ public function getNodeTypes(): array
return [ClassMethod::class];
}

/**
* @param ClassMethod $node
*/
public function refactor(Node $node): ?ClassMethod
{
$scope = ScopeFetcher::fetch($node);
Expand Down
7 changes: 1 addition & 6 deletions rules/Carbon/Rector/FuncCall/DateFuncCallToCarbonRector.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<Minus|FuncCall>
* @see \Rector\Tests\Carbon\Rector\FuncCall\DateFuncCallToCarbonRector\DateFuncCallToCarbonRectorTest
*/
final class DateFuncCallToCarbonRector extends AbstractRector
Expand Down Expand Up @@ -59,17 +60,11 @@ public function run()
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [Minus::class, FuncCall::class];
}

/**
* @param FuncCall $node
*/
public function refactor(Node $node): ?Node
{
if ($node instanceof Minus) {
Expand Down
7 changes: 1 addition & 6 deletions rules/Carbon/Rector/FuncCall/TimeFuncCallToCarbonRector.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<FuncCall>
* @see \Rector\Tests\Carbon\Rector\FuncCall\TimeFuncCallToCarbonRector\TimeFuncCallToCarbonRectorTest
*/
final class TimeFuncCallToCarbonRector extends AbstractRector
Expand Down Expand Up @@ -47,17 +48,11 @@ public function run()
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [FuncCall::class];
}

/**
* @param FuncCall $node
*/
public function refactor(Node $node): ?Node
{
if (! $this->isName($node->name, 'time')) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<MethodCall>
* @see \Rector\Tests\Carbon\Rector\MethodCall\DateTimeMethodCallToCarbonRector\DateTimeMethodCallToCarbonRectorTest
*/
final class DateTimeMethodCallToCarbonRector extends AbstractRector
Expand Down Expand Up @@ -53,17 +54,11 @@ public function run()
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [MethodCall::class];
}

/**
* @param MethodCall $node
*/
public function refactor(Node $node): ?Node
{
if (! $node->var instanceof New_) {
Expand Down
7 changes: 1 addition & 6 deletions rules/Carbon/Rector/New_/DateTimeInstanceToCarbonRector.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<New_>
* @see \Rector\Tests\Carbon\Rector\New_\DateTimeInstanceToCarbonRector\DateTimeInstanceToCarbonRectorTest
*/
final class DateTimeInstanceToCarbonRector extends AbstractRector
Expand All @@ -42,17 +43,11 @@ public function getRuleDefinition(): RuleDefinition
]);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [New_::class];
}

/**
* @param New_ $node
*/
public function refactor(Node $node): ?Node
{
if ($node->isFirstClassCallable()) {
Expand Down
7 changes: 1 addition & 6 deletions rules/CodeQuality/Rector/Assign/CombinedAssignRector.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<Assign>
* @see \Rector\Tests\CodeQuality\Rector\Assign\CombinedAssignRector\CombinedAssignRectorTest
*/
final class CombinedAssignRector extends AbstractRector
Expand All @@ -32,17 +33,11 @@ public function getRuleDefinition(): RuleDefinition
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [Assign::class];
}

/**
* @param Assign $node
*/
public function refactor(Node $node): ?Node
{
if (! $node->expr instanceof BinaryOp) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<Concat>
* @see \Rector\Tests\CodeQuality\Rector\AssignOp\NewArrayItemConcatAssignToAssignRector\NewArrayItemConcatAssignToAssignRectorTest
*/
final class NewArrayItemConcatAssignToAssignRector extends AbstractRector
Expand Down Expand Up @@ -40,9 +41,6 @@ public function getNodeTypes(): array
return [Concat::class];
}

/**
* @param Concat $node
*/
public function refactor(Node $node): ?Assign
{
if (! $node->var instanceof ArrayDimFetch) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<Attribute>
* @see \Rector\Tests\CodeQuality\Rector\Attribute\ExplicitAttributeNamedArgsRector\ExplicitAttributeNamedArgsRectorTest
*/
final class ExplicitAttributeNamedArgsRector extends AbstractRector implements MinPhpVersionInterface
Expand Down Expand Up @@ -52,17 +53,11 @@ class SomeClass
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [Attribute::class];
}

/**
* @param Attribute $node
*/
public function refactor(Node $node): ?Node
{
$methodReflection = $this->reflectionResolver->resolveConstructorReflectionFromAttribute($node);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<Node\Attribute>
* @see \Rector\Tests\CodeQuality\Rector\Attribute\SortAttributeNamedArgsRector\SortAttributeNamedArgsRectorTest
*/
final class SortAttributeNamedArgsRector extends AbstractRector
Expand Down Expand Up @@ -70,9 +71,6 @@ public function getNodeTypes(): array
return [Attribute::class];
}

/**
* @param Node\Attribute $node
*/
public function refactor(Node $node): ?Node
{
$args = $node->args;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<BooleanAnd>
* @see \Rector\Tests\CodeQuality\Rector\BooleanAnd\RemoveUselessIsObjectCheckRector\RemoveUselessIsObjectCheckRectorTest
*/
final class RemoveUselessIsObjectCheckRector extends AbstractRector
Expand All @@ -25,17 +26,11 @@ public function getRuleDefinition(): RuleDefinition
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [BooleanAnd::class];
}

/**
* @param BooleanAnd $node
*/
public function refactor(Node $node): ?Node
{
if ($node->left instanceof FuncCall
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;

/**
* @extends AbstractRector<BooleanAnd>
* @see \Rector\Tests\CodeQuality\Rector\BooleanAnd\RepeatedAndNotEqualToNotInArrayRector\RepeatedAndNotEqualToNotInArrayRectorTest
*/
final class RepeatedAndNotEqualToNotInArrayRector extends AbstractRector
Expand Down Expand Up @@ -53,17 +54,11 @@ public function getRuleDefinition(): RuleDefinition
);
}

/**
* @return array<class-string<Node>>
*/
public function getNodeTypes(): array
{
return [BooleanAnd::class];
}

/**
* @param BooleanAnd $node
*/
public function refactor(Node $node): ?BooleanNot
{
if (! $this->isNotEqualOrNotIdentical($node->right)) {
Expand Down
Loading
Loading