diff --git a/src/Rules/NoReturnSetterMethodRule.php b/src/Rules/NoReturnSetterMethodRule.php index 33009405..0a4ee1ba 100644 --- a/src/Rules/NoReturnSetterMethodRule.php +++ b/src/Rules/NoReturnSetterMethodRule.php @@ -53,12 +53,12 @@ public function getNodeType(): string */ public function processNode(Node $node, Scope $scope): array { - $classReflection = $scope->getClassReflection(); - if (! $classReflection instanceof ClassReflection) { + // possibly some important logic + if ($node->attrGroups !== []) { return []; } - if (! $classReflection->isClass()) { + if (! $this->isInsideClassReflection($scope)) { return []; } @@ -124,4 +124,14 @@ private function hasReturnReturnFunctionLike(ClassMethod $classMethod): bool $yield = $this->typeAwareNodeFinder->findFirstInstanceOf($classMethod, Yield_::class); return $yield instanceof Yield_; } + + private function isInsideClassReflection(Scope $scope): bool + { + $classReflection = $scope->getClassReflection(); + if (! $classReflection instanceof ClassReflection) { + return false; + } + + return $classReflection->isClass(); + } } diff --git a/tests/Rules/NoReturnSetterMethodRule/Fixture/SkipRoute.php b/tests/Rules/NoReturnSetterMethodRule/Fixture/SkipRoute.php new file mode 100644 index 00000000..8a3bca10 --- /dev/null +++ b/tests/Rules/NoReturnSetterMethodRule/Fixture/SkipRoute.php @@ -0,0 +1,17 @@ +