From d31ce4b87c18e3bbe1f2bdefd137b0107e179167 Mon Sep 17 00:00:00 2001 From: Martin Herndl Date: Wed, 5 Oct 2022 14:18:33 +0200 Subject: [PATCH] Fix `implementsInterface()` PHPDoc --- src/Assert.php | 4 ++-- src/Mixin.php | 12 ++++++------ tests/static-analysis/assert-implementsInterface.php | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Assert.php b/src/Assert.php index db1f3a5..ce65912 100644 --- a/src/Assert.php +++ b/src/Assert.php @@ -1566,8 +1566,8 @@ public static function interfaceExists($value, $message = '') /** * @psalm-pure * @psalm-template ExpectedType of object - * @psalm-param class-string $interface - * @psalm-assert class-string $value + * @psalm-param class-string|ExpectedType $interface + * @psalm-assert class-string|ExpectedType $value * * @param mixed $value * @param mixed $interface diff --git a/src/Mixin.php b/src/Mixin.php index 0f0a75e..d270df6 100644 --- a/src/Mixin.php +++ b/src/Mixin.php @@ -4074,8 +4074,8 @@ public static function allNullOrInterfaceExists($value, $message = '') /** * @psalm-pure * @psalm-template ExpectedType of object - * @psalm-param class-string $interface - * @psalm-assert class-string|null $value + * @psalm-param class-string|ExpectedType $interface + * @psalm-assert class-string|ExpectedType|null $value * * @param mixed $value * @param mixed $interface @@ -4093,8 +4093,8 @@ public static function nullOrImplementsInterface($value, $interface, $message = /** * @psalm-pure * @psalm-template ExpectedType of object - * @psalm-param class-string $interface - * @psalm-assert iterable> $value + * @psalm-param class-string|ExpectedType $interface + * @psalm-assert iterable|ExpectedType> $value * * @param mixed $value * @param mixed $interface @@ -4116,8 +4116,8 @@ public static function allImplementsInterface($value, $interface, $message = '') /** * @psalm-pure * @psalm-template ExpectedType of object - * @psalm-param class-string $interface - * @psalm-assert iterable|null> $value + * @psalm-param class-string|ExpectedType $interface + * @psalm-assert iterable|ExpectedType|null> $value * * @param mixed $value * @param mixed $interface diff --git a/tests/static-analysis/assert-implementsInterface.php b/tests/static-analysis/assert-implementsInterface.php index 7080520..9ac1da8 100644 --- a/tests/static-analysis/assert-implementsInterface.php +++ b/tests/static-analysis/assert-implementsInterface.php @@ -10,9 +10,9 @@ * * @param mixed $value * - * @return class-string + * @return Serializable|class-string */ -function implementsInterface($value): string +function implementsInterface($value) { Assert::implementsInterface($value, Serializable::class); @@ -24,9 +24,9 @@ function implementsInterface($value): string * * @param mixed $value * - * @return null|class-string + * @return Serializable|class-string|null */ -function nullOrImplementsInterface($value): ?string +function nullOrImplementsInterface($value) { Assert::nullOrImplementsInterface($value, Serializable::class); @@ -38,7 +38,7 @@ function nullOrImplementsInterface($value): ?string * * @param mixed $value * - * @return iterable> + * @return iterable> */ function allImplementsInterface($value): iterable { @@ -52,7 +52,7 @@ function allImplementsInterface($value): iterable * * @param mixed $value * - * @return iterable|null> + * @return iterable|null> */ function allNullOrImplementsInterface($value): iterable {