From f30d56eb6032fb4de005e3019d30640e6fd184fb Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:56:01 +0100 Subject: [PATCH 1/3] Narrow types --- src/Data/ProcessedCodeCoverageData.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index 976aaab38..f08507ac4 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -123,11 +123,17 @@ public function lineCoverage(): array return $this->lineCoverage; } + /** + * @param FunctionCoverageType $functionCoverage + */ public function setFunctionCoverage(array $functionCoverage): void { $this->functionCoverage = $functionCoverage; } + /** + * @return FunctionCoverageType + */ public function functionCoverage(): array { ksort($this->functionCoverage); From 2f48b1bfe2dafb7154283fb6c0059e3b5c4d63cb Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:57:18 +0100 Subject: [PATCH 2/3] Narrow line-coverage types --- src/Data/ProcessedCodeCoverageData.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index f08507ac4..a3ed7136c 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -41,6 +41,7 @@ * }> * } * @phpstan-type FunctionCoverageType array> + * @phpstan-type LineCoverageType array>> */ final class ProcessedCodeCoverageData { @@ -48,7 +49,7 @@ final class ProcessedCodeCoverageData * Line coverage data. * An array of filenames, each having an array of linenumbers, each executable line having an array of testcase ids. * - * @var array>> + * @var LineCoverageType */ private array $lineCoverage = []; @@ -111,11 +112,17 @@ public function markCodeAsExecutedByTestCase(string $testCaseId, RawCodeCoverage } } + /** + * @param LineCoverageType $lineCoverage + */ public function setLineCoverage(array $lineCoverage): void { $this->lineCoverage = $lineCoverage; } + /** + * @return LineCoverageType + */ public function lineCoverage(): array { ksort($this->lineCoverage); From 2420615d340b82a0e72ef6de6a47dc640c8cd99c Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:58:58 +0100 Subject: [PATCH 3/3] Narrow return types --- src/Data/ProcessedCodeCoverageData.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index a3ed7136c..49a103236 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -148,6 +148,9 @@ public function functionCoverage(): array return $this->functionCoverage; } + /** + * @return array + */ public function coveredFiles(): array { ksort($this->lineCoverage);