From c703cf68e635b6a7f2e7b1b08e41f634e6e654c8 Mon Sep 17 00:00:00 2001 From: Denis Zunke Date: Fri, 17 May 2024 22:23:37 +0200 Subject: [PATCH] Remove phpstan deprecation --- phpstan.neon | 1 - src/Configuration/ConfigurationFile.php | 18 +++++++++++++----- .../ConfigurationFile/Metric.php | 1 + .../ConfigurationFile/Reporting.php | 1 + .../ConfigurationFile/Storage.php | 1 + src/Event/BeforeMetricCalculate.php | 1 + src/Plugin/Plugin.php | 19 ++++++++++++++++--- tests/Configuration/PluginLoaderTest.php | 8 +++++++- tests/Fixtures/Plugin/TestPlugin.php | 6 +++--- 9 files changed, 43 insertions(+), 13 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index e9c3f3b..6579c89 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,7 +3,6 @@ includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon parameters: - checkMissingIterableValueType: false level: 8 paths: - panaly diff --git a/src/Configuration/ConfigurationFile.php b/src/Configuration/ConfigurationFile.php index 0c41f16..8bcb6c6 100644 --- a/src/Configuration/ConfigurationFile.php +++ b/src/Configuration/ConfigurationFile.php @@ -15,6 +15,13 @@ use function array_map; use function array_values; +/** + * @phpstan-type PluginConfig array|null> + * @phpstan-type StorageConfig array|null> + * @phpstan-type ReportingConfig array|null> + * @phpstan-type MetricGroupConfig array|null> + * @phpstan-type MetricConfig array|null> + */ class ConfigurationFile { /** @@ -31,6 +38,7 @@ public function __construct( ) { } + /** @param array{plugins?: PluginConfig, groups?: MetricGroupConfig, storage?: StorageConfig, reporting?: ReportingConfig} $config */ public static function fromArray(array $config): ConfigurationFile { return new self( @@ -42,7 +50,7 @@ public static function fromArray(array $config): ConfigurationFile } /** - * @param array $pluginConfig + * @param PluginConfig $pluginConfig * * @return list */ @@ -56,7 +64,7 @@ private static function buildPluginConfig(array $pluginConfig): array } /** - * @param array $reportingConfig + * @param ReportingConfig $reportingConfig * * @return list */ @@ -71,7 +79,7 @@ private static function buildReportingConfig(array $reportingConfig): array } /** - * @param array $storageConfig + * @param StorageConfig $storageConfig * * @return list */ @@ -86,7 +94,7 @@ private static function buildStorageConfig(array $storageConfig): array } /** - * @param array $metricGroupConfig + * @param MetricGroupConfig $metricGroupConfig * * @return list */ @@ -105,7 +113,7 @@ private static function buildMetricGroupConfig(array $metricGroupConfig): array } /** - * @param array $metricConfig + * @param MetricConfig $metricConfig * * @return list */ diff --git a/src/Configuration/ConfigurationFile/Metric.php b/src/Configuration/ConfigurationFile/Metric.php index f55b77f..04f97e2 100644 --- a/src/Configuration/ConfigurationFile/Metric.php +++ b/src/Configuration/ConfigurationFile/Metric.php @@ -8,6 +8,7 @@ class Metric { + /** @param array $options */ public function __construct( public readonly string $identifier, public readonly string $metric, diff --git a/src/Configuration/ConfigurationFile/Reporting.php b/src/Configuration/ConfigurationFile/Reporting.php index 294ed93..5f1cebc 100644 --- a/src/Configuration/ConfigurationFile/Reporting.php +++ b/src/Configuration/ConfigurationFile/Reporting.php @@ -8,6 +8,7 @@ class Reporting { + /** @param array $options */ public function __construct( public readonly string $identifier, public readonly array $options, diff --git a/src/Configuration/ConfigurationFile/Storage.php b/src/Configuration/ConfigurationFile/Storage.php index e6bda84..8949eb3 100644 --- a/src/Configuration/ConfigurationFile/Storage.php +++ b/src/Configuration/ConfigurationFile/Storage.php @@ -8,6 +8,7 @@ class Storage { + /** @param array $options */ public function __construct( public readonly string $identifier, public readonly array $options, diff --git a/src/Event/BeforeMetricCalculate.php b/src/Event/BeforeMetricCalculate.php index d8499c2..d205814 100644 --- a/src/Event/BeforeMetricCalculate.php +++ b/src/Event/BeforeMetricCalculate.php @@ -8,6 +8,7 @@ final class BeforeMetricCalculate { + /** @param array $options */ public function __construct( public readonly Metric $metricConfiguration, private array $options, diff --git a/src/Plugin/Plugin.php b/src/Plugin/Plugin.php index ee60396..cb5f22b 100644 --- a/src/Plugin/Plugin.php +++ b/src/Plugin/Plugin.php @@ -12,18 +12,31 @@ interface Plugin { + /** @param array $options */ public function initialize( ConfigurationFile $configurationFile, RuntimeConfiguration $runtimeConfiguration, array $options, ): void; - /** @return list */ + /** + * @param array $options + * + * @return list + */ public function getAvailableMetrics(array $options): array; - /** @return list */ + /** + * @param array $options + * + * @return list + */ public function getAvailableStorages(array $options): array; - /** @return list */ + /** + * @param array $options + * + * @return list + */ public function getAvailableReporting(array $options): array; } diff --git a/tests/Configuration/PluginLoaderTest.php b/tests/Configuration/PluginLoaderTest.php index 6a36e3e..da16b9d 100644 --- a/tests/Configuration/PluginLoaderTest.php +++ b/tests/Configuration/PluginLoaderTest.php @@ -61,7 +61,13 @@ public function testThatThePluginsAreCorrectLoaded(): void public function testThatOptionsAreHandOverToThePlugin(): void { $plugin = new class () extends BasePlugin { - /** @var array */ + /** @var array{ + * initialize: array|null, + * metrics: array|null, + * storages: array|null, + * reporting: array|null + * } + */ public array $expectedCalls = [ 'initialize' => null, 'metrics' => null, diff --git a/tests/Fixtures/Plugin/TestPlugin.php b/tests/Fixtures/Plugin/TestPlugin.php index 8368edf..5c107fd 100644 --- a/tests/Fixtures/Plugin/TestPlugin.php +++ b/tests/Fixtures/Plugin/TestPlugin.php @@ -22,7 +22,7 @@ class TestPlugin extends BasePlugin { - /** @return list */ + /** @inheritDoc */ public function getAvailableMetrics(array $options): array { return [ @@ -45,7 +45,7 @@ public function calculate(array $options): Value ]; } - /** @return list */ + /** @inheritDoc */ public function getAvailableStorages(array $options): array { return [ @@ -74,7 +74,7 @@ public function store(Result $result, array $options): void ]; } - /** @return list */ + /** @inheritDoc */ public function getAvailableReporting(array $options): array { return [