From f0e31654f55a8ead216845b865d11b3ca6d3ff51 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Tue, 21 Oct 2025 08:40:25 +0200 Subject: [PATCH] Narrow types --- src/Rules/ClassNameNodePair.php | 6 ++++++ src/Rules/FunctionDefinitionCheck.php | 4 ++-- src/Type/ObjectType.php | 4 ++++ src/Type/Type.php | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Rules/ClassNameNodePair.php b/src/Rules/ClassNameNodePair.php index cf39baa35c..5560390ce6 100644 --- a/src/Rules/ClassNameNodePair.php +++ b/src/Rules/ClassNameNodePair.php @@ -7,10 +7,16 @@ final class ClassNameNodePair { + /** + * @param non-empty-string $className + */ public function __construct(private string $className, private Node $node) { } + /** + * @return non-empty-string + */ public function getClassName(): string { return $this->className; diff --git a/src/Rules/FunctionDefinitionCheck.php b/src/Rules/FunctionDefinitionCheck.php index 6c749bca6b..3e7cf63770 100644 --- a/src/Rules/FunctionDefinitionCheck.php +++ b/src/Rules/FunctionDefinitionCheck.php @@ -704,7 +704,7 @@ private function getParameterNode( } /** - * @return string[] + * @return non-empty-string[] */ private function getParameterReferencedClasses(ParameterReflection $parameter): array { @@ -732,7 +732,7 @@ private function getParameterReferencedClasses(ParameterReflection $parameter): } /** - * @return string[] + * @return non-empty-string[] */ private function getReturnTypeReferencedClasses(ParametersAcceptor $parametersAcceptor): array { diff --git a/src/Type/ObjectType.php b/src/Type/ObjectType.php index de1e120173..3b7a72baaa 100644 --- a/src/Type/ObjectType.php +++ b/src/Type/ObjectType.php @@ -444,6 +444,10 @@ public function getUnresolvedStaticPropertyPrototype(string $propertyName, Class public function getReferencedClasses(): array { + if ($this->className === '') { + return []; + } + return [$this->className]; } diff --git a/src/Type/Type.php b/src/Type/Type.php index 19e474f9e3..9e3480016a 100644 --- a/src/Type/Type.php +++ b/src/Type/Type.php @@ -28,7 +28,7 @@ interface Type { /** - * @return list + * @return list */ public function getReferencedClasses(): array;