diff --git a/src/Psalm/IssueBuffer.php b/src/Psalm/IssueBuffer.php index 576c1bd42..513fade48 100644 --- a/src/Psalm/IssueBuffer.php +++ b/src/Psalm/IssueBuffer.php @@ -544,22 +544,26 @@ class IssueBuffer $source_control_info = null; $build_info = (new \Psalm\Internal\ExecutionEnvironment\BuildInfoCollector($_SERVER))->collect(); - try { - $source_control_info = (new \Psalm\Internal\ExecutionEnvironment\GitInfoCollector())->collect(); - } catch (\RuntimeException $e) { - // do nothing + if ($codebase->config->eventDispatcher->after_analysis + || $codebase->config->eventDispatcher->legacy_after_analysis + ) { + try { + $source_control_info = (new \Psalm\Internal\ExecutionEnvironment\GitInfoCollector())->collect(); + } catch (\RuntimeException $e) { + // do nothing + } + + /** @psalm-suppress ArgumentTypeCoercion due to Psalm bug */ + $event = new AfterAnalysisEvent( + $codebase, + $issues_data, + $build_info, + $source_control_info + ); + + $codebase->config->eventDispatcher->dispatchAfterAnalysis($event); } - /** @psalm-suppress ArgumentTypeCoercion due to Psalm bug */ - $event = new AfterAnalysisEvent( - $codebase, - $issues_data, - $build_info, - $source_control_info - ); - - $codebase->config->eventDispatcher->dispatchAfterAnalysis($event); - foreach ($project_analyzer->generated_report_options as $report_options) { if (!$report_options->output_path) { throw new \UnexpectedValueException('Output path should not be null here');