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>
31 lines
1,000 B
PHP
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;
|
|
}
|