From a4ccd2099d83257edefa8a4ec7c5933c5d002416 Mon Sep 17 00:00:00 2001 From: Rick Kuipers Date: Mon, 3 Apr 2023 16:33:12 +0200 Subject: [PATCH] Rely on ClassInfo to retrieve all classes Previous implementation would miss a lot of classes because they're lazy loaded. Using ClassInfo makes sure we go through all available classes. --- src/Type/ExtensionReturnTypeExtension.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Type/ExtensionReturnTypeExtension.php b/src/Type/ExtensionReturnTypeExtension.php index bfbe969..8d8ed83 100644 --- a/src/Type/ExtensionReturnTypeExtension.php +++ b/src/Type/ExtensionReturnTypeExtension.php @@ -3,6 +3,7 @@ namespace Syntro\SilverstripePHPStan\Type; use Exception; +use SilverStripe\Core\ClassInfo; use Syntro\SilverstripePHPStan\ClassHelper; use Syntro\SilverstripePHPStan\ConfigHelper; use Syntro\SilverstripePHPStan\Utility; @@ -127,7 +128,7 @@ private function getOwnerClassNamesByExtensionClassName() private function getClassesUsingExtensibleTrait() { - $classes = get_declared_classes(); + $classes = ClassInfo::allClasses(); $result = array(); foreach ($classes as $class) { $hasTrait = false;