Skip to content

Commit 0c26e60

Browse files
authored
Add implements generics to all Rule implementations and remove associated assert() calls. (#719)
1 parent c393f60 commit 0c26e60

21 files changed

+61
-33
lines changed

src/Rules/Classes/ClassExtendsInternalClassRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
use PHPStan\Rules\RuleErrorBuilder;
1212
use function sprintf;
1313

14+
/**
15+
* @implements Rule<Class_>
16+
*/
1417
class ClassExtendsInternalClassRule implements Rule
1518
{
1619
/**
@@ -30,7 +33,6 @@ public function getNodeType(): string
3033

3134
public function processNode(Node $node, Scope $scope): array
3235
{
33-
/** @var Class_ $node */
3436
if (!isset($node->extends)) {
3537
return [];
3638
}

src/Rules/Deprecations/AccessDeprecatedConstant.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
use function explode;
1313
use function sprintf;
1414

15+
/**
16+
* @implements Rule<Node\Expr\ConstFetch>
17+
*/
1518
class AccessDeprecatedConstant implements Rule
1619
{
1720
/** @var ReflectionProvider */
@@ -28,7 +31,6 @@ public function getNodeType(): string
2831

2932
public function processNode(Node $node, Scope $scope): array
3033
{
31-
assert($node instanceof Node\Expr\ConstFetch);
3234
if (DeprecatedScopeCheck::inDeprecatedScope($scope)) {
3335
return [];
3436
}

src/Rules/Deprecations/ConditionManagerCreateInstanceContextConfigurationRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
use PHPStan\Type\ObjectType;
1313
use function count;
1414

15+
/**
16+
* @implements Rule<Node\Expr\MethodCall>
17+
*/
1518
final class ConditionManagerCreateInstanceContextConfigurationRule implements Rule
1619
{
1720
public function getNodeType(): string
@@ -21,7 +24,6 @@ public function getNodeType(): string
2124

2225
public function processNode(Node $node, Scope $scope): array
2326
{
24-
assert($node instanceof Node\Expr\MethodCall);
2527
if (!$node->name instanceof Node\Identifier) {
2628
return [];
2729
}

src/Rules/Deprecations/DeprecatedAnnotationsRuleBase.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
use PHPStan\Reflection\ReflectionProvider;
99
use PHPStan\Rules\Rule;
1010

11+
/**
12+
* @implements Rule<Node\Stmt\Class_>
13+
*/
1114
abstract class DeprecatedAnnotationsRuleBase implements Rule
1215
{
1316

@@ -36,7 +39,6 @@ abstract protected function doProcessNode(
3639

3740
public function processNode(Node $node, Scope $scope): array
3841
{
39-
assert($node instanceof Node\Stmt\Class_);
4042
if ($node->extends === null) {
4143
return [];
4244
}

src/Rules/Deprecations/DeprecatedHookImplementation.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
use function strlen;
1515
use function substr_replace;
1616

17+
/**
18+
* @implements Rule<Function_>
19+
*/
1720
class DeprecatedHookImplementation implements Rule
1821
{
1922

@@ -31,7 +34,6 @@ public function getNodeType(): string
3134

3235
public function processNode(Node $node, Scope $scope) : array
3336
{
34-
assert($node instanceof Function_);
3537
if (!str_ends_with($scope->getFile(), ".module") && !str_ends_with($scope->getFile(), ".inc")) {
3638
return [];
3739
}

src/Rules/Deprecations/GetDeprecatedServiceRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
use PHPStan\Analyser\Scope;
99
use PHPStan\Rules\Rule;
1010

11+
/**
12+
* @implements Rule<Node\Expr\MethodCall>
13+
*/
1114
final class GetDeprecatedServiceRule implements Rule
1215
{
1316

@@ -28,7 +31,6 @@ public function getNodeType(): string
2831

2932
public function processNode(Node $node, Scope $scope): array
3033
{
31-
assert($node instanceof Node\Expr\MethodCall);
3234
if (!$node->name instanceof Node\Identifier) {
3335
return [];
3436
}

src/Rules/Deprecations/StaticServiceDeprecatedServiceRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
use PHPStan\Analyser\Scope;
99
use PHPStan\Rules\Rule;
1010

11+
/**
12+
* @implements Rule<Node\Expr\StaticCall>
13+
*/
1114
final class StaticServiceDeprecatedServiceRule implements Rule
1215
{
1316

@@ -28,7 +31,6 @@ public function getNodeType(): string
2831

2932
public function processNode(Node $node, Scope $scope): array
3033
{
31-
assert($node instanceof Node\Expr\StaticCall);
3234
if (!$node->name instanceof Node\Identifier) {
3335
return [];
3436
}

src/Rules/Deprecations/SymfonyCmfRouteObjectInterfaceConstantsRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
use Symfony\Cmf\Component\Routing\RouteObjectInterface as SymfonyRouteObjectInterface;
1414
use function sprintf;
1515

16+
/**
17+
* @implements Rule<Node\Expr\ClassConstFetch>
18+
*/
1619
final class SymfonyCmfRouteObjectInterfaceConstantsRule implements Rule
1720
{
1821

@@ -23,7 +26,6 @@ public function getNodeType(): string
2326

2427
public function processNode(Node $node, Scope $scope): array
2528
{
26-
assert($node instanceof Node\Expr\ClassConstFetch);
2729
if (!$node->name instanceof Node\Identifier) {
2830
return [];
2931
}

src/Rules/Deprecations/SymfonyCmfRoutingInClassMethodSignatureRule.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
use function explode;
1818
use function sprintf;
1919

20+
/**
21+
* @implements Rule<InClassMethodNode>
22+
*/
2023
final class SymfonyCmfRoutingInClassMethodSignatureRule implements Rule
2124
{
2225

@@ -27,7 +30,6 @@ public function getNodeType(): string
2730

2831
public function processNode(Node $node, Scope $scope): array
2932
{
30-
assert($node instanceof InClassMethodNode);
3133
if (DeprecatedScopeCheck::inDeprecatedScope($scope)) {
3234
return [];
3335
}

src/Rules/Drupal/Coder/DiscouragedFunctionsRule.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
/**
1414
* Based on Drupal_Sniffs_Functions_DiscouragedFunctionsSniff.
15+
*
16+
* @implements Rule<FuncCall>
1517
*/
1618
class DiscouragedFunctionsRule implements Rule
1719
{
@@ -22,8 +24,6 @@ public function getNodeType(): string
2224

2325
public function processNode(Node $node, Scope $scope): array
2426
{
25-
assert($node instanceof FuncCall);
26-
2727
if (!($node->name instanceof Node\Name)) {
2828
return [];
2929
}

0 commit comments

Comments
 (0)