From 93a741e9c44697eec3fa7f9fbf1afc7a4aac89c0 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Tue, 13 Dec 2022 11:06:54 +0100 Subject: [PATCH] Prevent overly greedy $scope->getType() calls in ExistingClassInInstanceOfRule --- src/Rules/Classes/ExistingClassInInstanceOfRule.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Rules/Classes/ExistingClassInInstanceOfRule.php b/src/Rules/Classes/ExistingClassInInstanceOfRule.php index c04a3d4b11..293dd6285d 100644 --- a/src/Rules/Classes/ExistingClassInInstanceOfRule.php +++ b/src/Rules/Classes/ExistingClassInInstanceOfRule.php @@ -77,9 +77,10 @@ public function processNode(Node $node, Scope $scope): array } $classReflection = $this->reflectionProvider->getClass($name); - $expressionType = $scope->getType($node->expr); if ($classReflection->isTrait()) { + $expressionType = $scope->getType($node->expr); + $errors[] = RuleErrorBuilder::message(sprintf( 'Instanceof between %s and trait %s will always evaluate to false.', $expressionType->describe(VerbosityLevel::typeOnly()),