diff --git a/src/Analyser/Analyser.php b/src/Analyser/Analyser.php index dcea7e6e..84cae1c4 100644 --- a/src/Analyser/Analyser.php +++ b/src/Analyser/Analyser.php @@ -223,17 +223,22 @@ private function doAnalyse( $layerExcludePaths, ); $classNodes = $extractionResult->classNodes; - $classNodes = $this->withRecursiveParents($classNodes, $extractionResult->anonymousClassNodes); - $this->resolveFunctionFallbackCalls( - [ - $classNodes, + // Node rules may query inheritance and resolved function calls. + // Declarative ruleset checks use separate dependency resolution. + if ($nodeRules !== []) { + $classNodes = $this->withRecursiveParents($classNodes, $extractionResult->anonymousClassNodes); + + $this->resolveFunctionFallbackCalls( + [ + $classNodes, + $extractionResult->functionNodes, + $extractionResult->anonymousFunctionNodes, + $extractionResult->anonymousClassNodes, + ], $extractionResult->functionNodes, - $extractionResult->anonymousFunctionNodes, - $extractionResult->anonymousClassNodes, - ], - $extractionResult->functionNodes, - ); + ); + } if ($hasExtendedClassAwareRule || $hasUsedInterfaceAwareRule || $hasUsedTraitAwareRule) { $this->markClassLikeUsage(