mirror of
https://github.com/danog/psalm.git
synced 2025-01-10 06:58:41 +01:00
62a0ece035
ProjectAnalyzer consumed Config::$fileExtensions early in its constructor - without having processed plugins' modifications, registering their custom scanners or analyzer implementations. This change * adds new specific interface \Psalm\Plugin\FileExtensionsInterface to be used by plugin implementations * extracts file extension handling from \Psalm\PluginRegistrationSocket and interface \Psalm\Plugin\RegistrationInterface to a new dedicated \Psalm\PluginFileExtensionsSocket and new interface \Psalm\Plugin\FileExtensionsInterface !!! this is a breaking change in PluginRegistrationSocket !!! * adds runtime in-memory cache for Config::$plugins * calls new method Config::processPluginFileExtensions(), providing modifications to file extension only early in ProjectAnalyzer * adjusts documentation
11 lines
226 B
PHP
11 lines
226 B
PHP
<?php
|
|
|
|
namespace Psalm\Plugin;
|
|
|
|
use SimpleXMLElement;
|
|
|
|
interface PluginEntryPointInterface extends PluginInterface
|
|
{
|
|
public function __invoke(RegistrationInterface $registration, ?SimpleXMLElement $config = null): void;
|
|
}
|