Skip to content

Commit f121a55

Browse files
staabmsebastianbergmann
authored andcommitted
Narrow class-types with generic
1 parent c90318a commit f121a55

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

src/Metadata/Api/HookMethods.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
namespace PHPUnit\Metadata\Api;
1111

12+
use PHPUnit\Framework\TestCase;
1213
use function array_unshift;
1314
use function assert;
1415
use function class_exists;
@@ -27,7 +28,7 @@ final class HookMethods
2728
private static array $hookMethods = [];
2829

2930
/**
30-
* @psalm-param class-string $className
31+
* @psalm-param class-string<TestCase> $className
3132
*
3233
* @psalm-return array{beforeClass: list<non-empty-string>, before: list<non-empty-string>, preCondition: list<non-empty-string>, postCondition: list<non-empty-string>, after: list<non-empty-string>, afterClass: list<non-empty-string>}
3334
*/

src/Runner/TestSuiteLoader.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ final class TestSuiteLoader
3939

4040
/**
4141
* @throws Exception
42+
*
43+
* @return ReflectionClass<TestCase>
4244
*/
4345
public function load(string $suiteClassFile): ReflectionClass
4446
{

src/Util/Reflection.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ public static function sourceLocationFor(string $className, string $methodName):
4848
}
4949

5050
/**
51+
* @psalm-param ReflectionClass<TestCase> $class
52+
*
5153
* @psalm-return list<ReflectionMethod>
5254
*/
5355
public static function publicMethodsInTestClass(ReflectionClass $class): array
@@ -56,6 +58,8 @@ public static function publicMethodsInTestClass(ReflectionClass $class): array
5658
}
5759

5860
/**
61+
* @psalm-param ReflectionClass<TestCase> $class
62+
*
5963
* @psalm-return list<ReflectionMethod>
6064
*/
6165
public static function methodsInTestClass(ReflectionClass $class): array
@@ -64,6 +68,8 @@ public static function methodsInTestClass(ReflectionClass $class): array
6468
}
6569

6670
/**
71+
* @psalm-param ReflectionClass<TestCase> $class
72+
*
6773
* @psalm-return list<ReflectionMethod>
6874
*/
6975
private static function filterAndSortMethods(ReflectionClass $class, ?int $filter, bool $sortHighestToLowest): array

0 commit comments

Comments
 (0)