schneespur/release/schneespur-1.0.2/vendor/psy/psysh/.phan/merge-baselines.php
Michael 7288b93500 Release v1.0.2: diagnostic infrastructure core
Add neutral diagnostic framework for future reporting modules:
- DiagnosticReporterInterface, Registry, Manager, PayloadSanitizer
- Laravel exception hook in bootstrap/app.php
- Module permission declarations (requires_permissions in module.json)
- Core diagnostic report points (module boot/install/update failures)
- Module documentation update (moduldoku.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 16:54:11 +00:00

31 lines
1,000 B
PHP

<?php
/**
* Helper function to merge multiple Phan baseline files.
*
* @param string[] $baselineFiles Array of baseline file paths to merge
*
* @return array Merged baseline array with 'file_suppressions' key
*/
function mergeBaselines(array $baselineFiles): array
{
$merged = ['file_suppressions' => []];
foreach ($baselineFiles as $baseline) {
if (file_exists($baseline)) {
$data = require $baseline;
if (isset($data['file_suppressions'])) {
foreach ($data['file_suppressions'] as $file => $suppressions) {
if (!isset($merged['file_suppressions'][$file])) {
$merged['file_suppressions'][$file] = [];
}
$merged['file_suppressions'][$file] = array_values(array_unique(
array_merge($merged['file_suppressions'][$file], $suppressions)
));
}
}
}
}
return $merged;
}