diff --git a/src/Psalm/Plugin/EventHandler/Event/AfterAnalysisEvent.php b/src/Psalm/Plugin/EventHandler/Event/AfterAnalysisEvent.php index 92ac8ae9b79..60db94732b0 100644 --- a/src/Psalm/Plugin/EventHandler/Event/AfterAnalysisEvent.php +++ b/src/Psalm/Plugin/EventHandler/Event/AfterAnalysisEvent.php @@ -10,7 +10,7 @@ final class AfterAnalysisEvent { private Codebase $codebase; /** - * @var IssueData[][] + * @var array> where string key is a filepath */ private array $issues; private array $build_info; @@ -19,7 +19,7 @@ final class AfterAnalysisEvent /** * Called after analysis is complete * - * @param array> $issues + * @param array> $issues where string key is a filepath * @internal */ public function __construct( @@ -40,7 +40,7 @@ public function getCodebase(): Codebase } /** - * @return IssueData[][] + * @return array> where string key is a filepath */ public function getIssues(): array { diff --git a/src/Psalm/Plugin/Shepherd.php b/src/Psalm/Plugin/Shepherd.php index bb0ba7bb1da..49dc628e9b3 100644 --- a/src/Psalm/Plugin/Shepherd.php +++ b/src/Psalm/Plugin/Shepherd.php @@ -120,11 +120,11 @@ private static function collectPayloadToSend(AfterAnalysisEvent $event): ?array return null; } - $issues = $event->getIssues(); - $normalized_data = $issues === [] ? [] : array_filter( - array_merge(...array_values($issues)), + $issues_grouped_by_filename = $event->getIssues(); + $normalized_data = $issues_grouped_by_filename === [] ? [] : array_values(array_filter( + array_merge(...array_values($issues_grouped_by_filename)), // flatten an array static fn(IssueData $i): bool => $i->severity === IssueData::SEVERITY_ERROR, - ); + )); $codebase = $event->getCodebase();