Skip to content

Commit ad47ecc

Browse files
authored
Merge pull request #451 from mglaman/cmf-fix
SymfonyCmfRoutingInClassMethodSignatureRule stop using isSuperOf
2 parents 6ce70da + 72a57c4 commit ad47ecc

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/Rules/Deprecations/SymfonyCmfRoutingInClassMethodSignatureRule.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public function processNode(Node $node, Scope $scope): array
4646
foreach ($methodSignature->getParameters() as $parameter) {
4747
foreach ($parameter->getType()->getReferencedClasses() as $referencedClass) {
4848
$referencedClassType = new ObjectType($referencedClass);
49-
if ($referencedClassType->isSuperTypeOf($cmfRouteObjectInterfaceType)->yes()) {
49+
if ($cmfRouteObjectInterfaceType->equals($referencedClassType)) {
5050
$errors[] = RuleErrorBuilder::message(
5151
sprintf(
5252
$errorMessage,
@@ -56,7 +56,7 @@ public function processNode(Node $node, Scope $scope): array
5656
'\Drupal\Core\Routing\RouteObjectInterface'
5757
)
5858
)->tip('Change record: https://www.drupal.org/node/3151009')->build();
59-
} elseif ($referencedClassType->isSuperTypeOf($cmfRouteProviderInterfaceType)->yes()) {
59+
} elseif ($cmfRouteProviderInterfaceType->equals($referencedClassType)) {
6060
$errors[] = RuleErrorBuilder::message(
6161
sprintf(
6262
$errorMessage,
@@ -66,7 +66,7 @@ public function processNode(Node $node, Scope $scope): array
6666
'\Drupal\Core\Routing\RouteProviderInterface'
6767
)
6868
)->tip('Change record: https://www.drupal.org/node/3151009')->build();
69-
} elseif ($referencedClassType->isSuperTypeOf($cmfLazyRouteCollectionType)->yes()) {
69+
} elseif ($cmfLazyRouteCollectionType->equals($referencedClassType)) {
7070
$errors[] = RuleErrorBuilder::message(
7171
sprintf(
7272
$errorMessage,
@@ -84,7 +84,7 @@ public function processNode(Node $node, Scope $scope): array
8484
$returnClasses = $methodSignature->getReturnType()->getReferencedClasses();
8585
foreach ($returnClasses as $returnClass) {
8686
$returnType = new ObjectType($returnClass);
87-
if ($returnType->isSuperTypeOf($cmfRouteObjectInterfaceType)->yes()) {
87+
if ($cmfRouteObjectInterfaceType->equals($returnType)) {
8888
$errors[] = RuleErrorBuilder::message(
8989
sprintf(
9090
$errorMessage,
@@ -94,7 +94,7 @@ public function processNode(Node $node, Scope $scope): array
9494
'\Drupal\Core\Routing\RouteObjectInterface'
9595
)
9696
)->tip('Change record: https://www.drupal.org/node/3151009')->build();
97-
} elseif ($returnType->isSuperTypeOf($cmfRouteProviderInterfaceType)->yes()) {
97+
} elseif ($cmfRouteProviderInterfaceType->equals($returnType)) {
9898
$errors[] = RuleErrorBuilder::message(
9999
sprintf(
100100
$errorMessage,
@@ -104,7 +104,7 @@ public function processNode(Node $node, Scope $scope): array
104104
'\Drupal\Core\Routing\RouteProviderInterface'
105105
)
106106
)->tip('Change record: https://www.drupal.org/node/3151009')->build();
107-
} elseif ($returnType->isSuperTypeOf($cmfLazyRouteCollectionType)->yes()) {
107+
} elseif ($cmfLazyRouteCollectionType->equals($returnType)) {
108108
$errors[] = RuleErrorBuilder::message(
109109
sprintf(
110110
$errorMessage,

tests/src/Rules/data/symfony-cmf-routing.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ public function b(\Symfony\Cmf\Component\Routing\RouteProviderInterface $provide
1616
public function c(\Symfony\Cmf\Component\Routing\LazyRouteCollection $collection) {
1717

1818
}
19+
public function getIterator(): \Traversable {
20+
return new \ArrayIterator([]);
21+
}
1922
}
2023
class Bar {
2124
public const NAME = \Drupal\Core\Routing\RouteObjectInterface::ROUTE_NAME;
@@ -29,5 +32,8 @@ public function b(\Drupal\Core\Routing\RouteProviderInterface $provider): \Drupa
2932
}
3033
public function c(\Drupal\Core\Routing\LazyRouteCollection $collection) {
3134

35+
}
36+
public function d(): \Symfony\Component\Routing\RouteCollection {
37+
3238
}
3339
}

0 commit comments

Comments
 (0)