From 5053fb30b618e2f23b6030a0fcbd9dea12908339 Mon Sep 17 00:00:00 2001 From: Bastian Lederer Date: Fri, 5 Dec 2025 14:36:38 +0100 Subject: [PATCH] Clean up and merge PHPStan baselines Remove errors no longer reported. Since PHP 7.x is no longer supported, remove the 7.x baseline. It is now no longer necessary to have multiple baseline files. --- phpstan-baseline-7x.neon | 106 ----- phpstan-baseline-8x.neon | 101 ----- phpstan-baseline-by-php-version.php | 15 - ...ine-standard.neon => phpstan-baseline.neon | 424 ++++-------------- phpstan.neon | 3 +- 5 files changed, 99 insertions(+), 550 deletions(-) delete mode 100644 phpstan-baseline-7x.neon delete mode 100644 phpstan-baseline-8x.neon delete mode 100644 phpstan-baseline-by-php-version.php rename phpstan-baseline-standard.neon => phpstan-baseline.neon (95%) diff --git a/phpstan-baseline-7x.neon b/phpstan-baseline-7x.neon deleted file mode 100644 index 95668ced..00000000 --- a/phpstan-baseline-7x.neon +++ /dev/null @@ -1,106 +0,0 @@ -parameters: - ignoreErrors: - - - message: "#^Parameter \\#1 \\$data of function hex2bin expects string, mixed given\\.$#" - count: 1 - path: application/controllers/EventController.php - - - - message: "#^Parameter \\#1 \\$str of function md5 expects string, mixed given\\.$#" - count: 1 - path: application/forms/RedisConfigForm.php - - - - message: "#^Parameter \\#1 \\$stack of function array_pop expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/IcingaRedis.php - - - - message: "#^Parameter \\#1 \\$arr1 of function array_diff_key expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/ObjectInspectionDetail.php - - - - message: "#^Parameter \\#1 \\$data of function bin2hex expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/ObjectInspectionDetail.php - - - - message: "#^Parameter \\#1 \\$str of function strtolower expects string, mixed given\\.$#" - count: 2 - path: library/Icingadb/Compat/UrlMigrator.php - - - - message: "#^Parameter \\#1 \\$input of function array_keys expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/CsvResultSet.php - - - - message: "#^Parameter \\#1 \\$input of function array_values expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/CsvResultSet.php - - - - message: "#^Parameter \\#2 \\$str of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/PivotTable.php - - - - message: "#^Parameter \\#1 \\$input of function array_keys expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/VolatileCsvResults.php - - - - message: "#^Parameter \\#1 \\$input of function array_values expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/VolatileCsvResults.php - - - - message: "#^Parameter \\#2 \\$str of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Model/Behavior/ActionAndNoteUrl.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$args of function array_merge expects array, array\\\\|false given\\.$#" - count: 1 - path: library/Icingadb/Model/CustomvarFlat.php - - - - message: "#^Parameter \\#1 \\$var of function count expects array\\|Countable, Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null given\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - - - message: "#^Parameter \\#1 \\$number of function number_format expects float, float\\|int\\|string given\\.$#" - count: 1 - path: library/Icingadb/Util/PerfData.php - - - - message: "#^Parameter \\#1 \\$str of function trim expects string, string\\|null given\\.$#" - count: 1 - path: library/Icingadb/Util/PluginOutput.php - - - - message: "#^Parameter \\#3 \\$encoding of function htmlspecialchars expects string, null given\\.$#" - count: 1 - path: library/Icingadb/Util/PluginOutput.php - - - - message: "#^Parameter \\#1 \\$str of function trim expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Parameter \\#2 \\$str of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Parameter \\#1 \\$objects of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:setObjects\\(\\) expects array\\\\|\\(Countable&Traversable\\\\), array\\\\|false given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php diff --git a/phpstan-baseline-8x.neon b/phpstan-baseline-8x.neon deleted file mode 100644 index d27ed795..00000000 --- a/phpstan-baseline-8x.neon +++ /dev/null @@ -1,101 +0,0 @@ -parameters: - ignoreErrors: - - - message: "#^Parameter \\#1 \\$string of function hex2bin expects string, mixed given\\.$#" - count: 1 - path: application/controllers/EventController.php - - - - message: "#^Parameter \\#1 \\$string of function md5 expects string, mixed given\\.$#" - count: 1 - path: application/forms/RedisConfigForm.php - - - - message: "#^Parameter \\#1 \\$array of function array_pop expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Command/Transport/ApiCommandTransport.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$arrays of function array_merge expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/IcingaRedis.php - - - - message: "#^Parameter \\#1 \\$array of function array_diff_key expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/ObjectInspectionDetail.php - - - - message: "#^Parameter \\#1 \\$string of function bin2hex expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Common/ObjectInspectionDetail.php - - - - message: "#^Parameter \\#1 \\$string of function strtolower expects string, mixed given\\.$#" - count: 2 - path: library/Icingadb/Compat/UrlMigrator.php - - - - message: "#^Parameter \\#1 \\$array of function array_keys expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/CsvResultSet.php - - - - message: "#^Parameter \\#1 \\$array of function array_values expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/CsvResultSet.php - - - - message: "#^Parameter \\#2 \\$string of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/PivotTable.php - - - - message: "#^Parameter \\#1 \\$array of function array_keys expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/VolatileCsvResults.php - - - - message: "#^Parameter \\#1 \\$array of function array_values expects array, mixed given\\.$#" - count: 1 - path: library/Icingadb/Data/VolatileCsvResults.php - - - - message: "#^Parameter \\#2 \\$string of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Model/Behavior/ActionAndNoteUrl.php - - - - message: "#^Parameter \\#2 \\.\\.\\.\\$arrays of function array_merge expects array, array\\\\|false given\\.$#" - count: 1 - path: library/Icingadb/Model/CustomvarFlat.php - - - - message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, Icinga\\\\Module\\\\Reporting\\\\ReportData\\|null given\\.$#" - count: 1 - path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php - - - - message: "#^Parameter \\#1 \\$num of function number_format expects float, float\\|int\\|string given\\.$#" - count: 1 - path: library/Icingadb/Util/PerfData.php - - - - message: "#^Parameter \\#1 \\$string of function trim expects string, string\\|null given\\.$#" - count: 1 - path: library/Icingadb/Util/PluginOutput.php - - - - message: "#^Parameter \\#1 \\$string of function trim expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Parameter \\#2 \\$string of function explode expects string, mixed given\\.$#" - count: 1 - path: library/Icingadb/Web/Controller.php - - - - message: "#^Parameter \\#1 \\$objects of method Icinga\\\\Module\\\\Icingadb\\\\Forms\\\\Command\\\\CommandForm\\:\\:setObjects\\(\\) expects array\\\\|\\(Countable&Traversable\\\\), array\\ given\\.$#" - count: 1 - path: library/Icingadb/Widget/Detail/MultiselectQuickActions.php diff --git a/phpstan-baseline-by-php-version.php b/phpstan-baseline-by-php-version.php deleted file mode 100644 index f338ed82..00000000 --- a/phpstan-baseline-by-php-version.php +++ /dev/null @@ -1,15 +0,0 @@ - -// SPDX-License-Identifier: GPL-3.0-or-later - -$includes = []; -if (PHP_VERSION_ID >= 80000) { - $includes[] = __DIR__ . '/phpstan-baseline-8x.neon'; -} else { - $includes[] = __DIR__ . '/phpstan-baseline-7x.neon'; -} - -return [ - 'includes' => $includes -]; diff --git a/phpstan-baseline-standard.neon b/phpstan-baseline.neon similarity index 95% rename from phpstan-baseline-standard.neon rename to phpstan-baseline.neon index 72c95db9..42e3aea0 100644 --- a/phpstan-baseline-standard.neon +++ b/phpstan-baseline.neon @@ -48,96 +48,12 @@ parameters: count: 2 path: application/controllers/CommandTransportController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:acknowledgeAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:addCommentAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:checkNowAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' - identifier: missingType.iterableValue - count: 1 - path: application/controllers/CommentController.php - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:indexAction\(\) has no return type specified\.$#' identifier: missingType.return count: 1 path: application/controllers/CommentController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:processCheckresultAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:scheduleCheckAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' - identifier: argument.type - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 1 - path: application/controllers/CommentController.php - - - - message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: application/controllers/CommentController.php - - message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\CommentController\:\:\$comment \(Icinga\\Module\\Icingadb\\Model\\Comment\) does not accept ipl\\Orm\\Model\.$#' identifier: assign.propertyType @@ -204,96 +120,12 @@ parameters: count: 1 path: application/controllers/ConfigController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:acknowledgeAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:addCommentAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:assertIsGrantedOnCommandTargets\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:checkNowAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' - identifier: missingType.iterableValue - count: 1 - path: application/controllers/DowntimeController.php - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:indexAction\(\) has no return type specified\.$#' identifier: missingType.return count: 1 path: application/controllers/DowntimeController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:processCheckresultAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:removeAcknowledgementAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:scheduleCheckAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:scheduleDowntimeAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:sendCustomNotificationAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:toggleFeaturesAction\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Parameter \#1 \$form of method Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:handleCommandForm\(\) expects Icinga\\Module\\Icingadb\\Forms\\Command\\CommandForm\|string, Icinga\\Module\\Icingadb\\Forms\\Command\\Object\\ToggleObjectFeaturesForm\|null given\.$#' - identifier: argument.type - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 1 - path: application/controllers/DowntimeController.php - - - - message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:\$commandTargetModel \(ipl\\Orm\\Model\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: application/controllers/DowntimeController.php - - message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\DowntimeController\:\:\$downtime \(Icinga\\Module\\Icingadb\\Model\\Downtime\) does not accept ipl\\Orm\\Model\.$#' identifier: assign.propertyType @@ -366,6 +198,12 @@ parameters: count: 1 path: application/controllers/EventController.php + - + message: '#^Parameter \#1 \$string of function hex2bin expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: application/controllers/EventController.php + - message: '#^Property Icinga\\Module\\Icingadb\\Controllers\\EventController\:\:\$event \(Icinga\\Module\\Icingadb\\Model\\History\) does not accept ipl\\Orm\\Model\.$#' identifier: assign.propertyType @@ -468,12 +306,6 @@ parameters: count: 1 path: application/controllers/HostController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' - identifier: missingType.iterableValue - count: 1 - path: application/controllers/HostController.php - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\HostController\:\:processCheckresultAction\(\) has no return type specified\.$#' identifier: missingType.return @@ -546,12 +378,6 @@ parameters: count: 1 path: application/controllers/HostController.php - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 1 - path: application/controllers/HostController.php - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' identifier: argument.type @@ -816,12 +642,6 @@ parameters: count: 1 path: application/controllers/ServiceController.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:fetchCommandTargets\(\) return type has no value type specified in iterable type array\.$#' - identifier: missingType.iterableValue - count: 1 - path: application/controllers/ServiceController.php - - message: '#^Method Icinga\\Module\\Icingadb\\Controllers\\ServiceController\:\:processCheckresultAction\(\) has no return type specified\.$#' identifier: missingType.return @@ -906,12 +726,6 @@ parameters: count: 1 path: application/controllers/ServiceController.php - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 2 - path: application/controllers/ServiceController.php - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:lessThanOrEqual\(\) expects float\|int\|string, mixed given\.$#' identifier: argument.type @@ -1716,6 +1530,12 @@ parameters: count: 1 path: application/forms/RedisConfigForm.php + - + message: '#^Parameter \#1 \$string of function md5 expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: application/forms/RedisConfigForm.php + - message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' identifier: argument.type @@ -1854,12 +1674,6 @@ parameters: count: 1 path: library/Icingadb/Command/Object/GetObjectCommand.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Command\\Object\\ObjectsCommand\:\:getObjects\(\) return type has no value type specified in iterable type Traversable\.$#' - identifier: missingType.iterableValue - count: 1 - path: library/Icingadb/Command/Object/ObjectsCommand.php - - message: '#^Property Icinga\\Module\\Icingadb\\Command\\Object\\ProcessCheckResultCommand\:\:\$performanceData \(string\) does not accept string\|null\.$#' identifier: assign.propertyType @@ -1920,6 +1734,12 @@ parameters: count: 1 path: library/Icingadb/Command/Transport/ApiCommandTransport.php + - + message: '#^Parameter \#1 \$array of function array_pop expects array, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Command/Transport/ApiCommandTransport.php + - message: '#^Property Icinga\\Module\\Icingadb\\Command\\Transport\\CommandTransportConfig\:\:\$configs type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue @@ -1939,22 +1759,16 @@ parameters: path: library/Icingadb/Command/Transport/CommandTransportInterface.php - - message: '#^Cannot access offset ''in_downtime'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible + message: '#^Access to constant ATTR_INIT_COMMAND on an unknown class PDO\\Mysql\.$#' + identifier: class.notFound count: 1 - path: library/Icingadb/Common/IcingaRedis.php + path: library/Icingadb/Common/Backend.php - - message: '#^Cannot access offset ''is_acknowledged'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible + message: '#^Possibly invalid array key type mixed\.$#' + identifier: offsetAccess.invalidOffset count: 1 - path: library/Icingadb/Common/IcingaRedis.php - - - - message: '#^Cannot access offset ''state_type'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 2 - path: library/Icingadb/Common/IcingaRedis.php + path: library/Icingadb/Common/Backend.php - message: '#^Method Icinga\\Module\\Icingadb\\Common\\IcingaRedis\:\:fetchHostState\(\) has parameter \$columns with no value type specified in iterable type array\.$#' @@ -1998,6 +1812,12 @@ parameters: count: 1 path: library/Icingadb/Common/IcingaRedis.php + - + message: '#^Parameter \#2 \.\.\.\$arrays of function array_merge expects array, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Common/IcingaRedis.php + - message: '#^Method Icinga\\Module\\Icingadb\\Common\\Links\:\:hostgroup\(\) has parameter \$hostgroup with no type specified\.$#' identifier: missingType.parameter @@ -2106,12 +1926,24 @@ parameters: count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php + - + message: '#^Parameter \#1 \$array of function array_diff_key expects array, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Common/ObjectInspectionDetail.php + - message: '#^Parameter \#1 \$content of static method ipl\\Html\\Table\:\:td\(\) expects array\|ipl\\Html\\Html\|string\|null, mixed given\.$#' identifier: argument.type count: 1 path: library/Icingadb/Common/ObjectInspectionDetail.php + - + message: '#^Parameter \#1 \$string of function bin2hex expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Common/ObjectInspectionDetail.php + - message: '#^Property Icinga\\Module\\Icingadb\\Common\\ObjectInspectionDetail\:\:\$attrs type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue @@ -2226,12 +2058,6 @@ parameters: count: 2 path: library/Icingadb/Compat/CompatHost.php - - - message: '#^Cannot call method columns\(\) on mixed\.$#' - identifier: method.nonObject - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - message: '#^Cannot call method execute\(\) on mixed\.$#' identifier: method.nonObject @@ -2334,12 +2160,6 @@ parameters: count: 2 path: library/Icingadb/Compat/CompatHost.php - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 3 - path: library/Icingadb/Compat/CompatHost.php - - message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatHost\:\:\$legacyColumns has no type specified\.$#' identifier: missingType.property @@ -2358,30 +2178,6 @@ parameters: count: 1 path: library/Icingadb/Compat/CompatHost.php - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$eventhistory \(Icinga\\Module\\Monitoring\\DataView\\EventHistory\) does not accept array\.$#' - identifier: assign.propertyType - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$hostVariables \(array\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$serviceVariables \(array\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: library/Icingadb/Compat/CompatHost.php - - - - message: '#^Unreachable statement \- code above always terminates\.$#' - identifier: deadCode.unreachable - count: 2 - path: library/Icingadb/Compat/CompatHost.php - - message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' identifier: foreach.nonIterable @@ -2478,12 +2274,6 @@ parameters: count: 2 path: library/Icingadb/Compat/CompatService.php - - - message: '#^Cannot call method columns\(\) on mixed\.$#' - identifier: method.nonObject - count: 1 - path: library/Icingadb/Compat/CompatService.php - - message: '#^Cannot call method execute\(\) on mixed\.$#' identifier: method.nonObject @@ -2544,12 +2334,6 @@ parameters: count: 1 path: library/Icingadb/Compat/CompatService.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:getHost\(\) should return Icinga\\Module\\Icingadb\\Compat\\CompatHost but returns Icinga\\Module\\Monitoring\\Object\\Host\.$#' - identifier: return.type - count: 1 - path: library/Icingadb/Compat/CompatService.php - - message: '#^Method Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:getName\(\) should return string but returns mixed\.$#' identifier: return.type @@ -2604,12 +2388,6 @@ parameters: count: 2 path: library/Icingadb/Compat/CompatService.php - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 3 - path: library/Icingadb/Compat/CompatService.php - - message: '#^Property Icinga\\Module\\Icingadb\\Compat\\CompatService\:\:\$legacyColumns has no type specified\.$#' identifier: missingType.property @@ -2628,30 +2406,6 @@ parameters: count: 1 path: library/Icingadb/Compat/CompatService.php - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$eventhistory \(Icinga\\Module\\Monitoring\\DataView\\EventHistory\) does not accept array\.$#' - identifier: assign.propertyType - count: 1 - path: library/Icingadb/Compat/CompatService.php - - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$hostVariables \(array\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: library/Icingadb/Compat/CompatService.php - - - - message: '#^Property Icinga\\Module\\Monitoring\\Object\\MonitoredObject\:\:\$serviceVariables \(array\) in isset\(\) is not nullable\.$#' - identifier: isset.property - count: 1 - path: library/Icingadb/Compat/CompatService.php - - - - message: '#^Unreachable statement \- code above always terminates\.$#' - identifier: deadCode.unreachable - count: 2 - path: library/Icingadb/Compat/CompatService.php - - message: '#^Method Icinga\\Module\\Icingadb\\Compat\\UrlMigrator\:\:commentsColumns\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue @@ -2785,9 +2539,9 @@ parameters: path: library/Icingadb/Compat/UrlMigrator.php - - message: '#^Parameter \#1 \$column of method ipl\\Stdlib\\Filter\\Condition\:\:setColumn\(\) expects string, int\|string\|null given\.$#' + message: '#^Parameter \#1 \$string of function strtolower expects string, mixed given\.$#' identifier: argument.type - count: 1 + count: 2 path: library/Icingadb/Compat/UrlMigrator.php - @@ -2802,6 +2556,12 @@ parameters: count: 1 path: library/Icingadb/Data/CsvResultSet.php + - + message: '#^Parameter \#1 \$array of function array_keys expects array, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Data/CsvResultSet.php + - message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\CsvResultSet\:\:formatValue\(\) expects string, mixed given\.$#' identifier: argument.type @@ -2868,6 +2628,12 @@ parameters: count: 1 path: library/Icingadb/Data/PivotTable.php + - + message: '#^Parameter \#2 \$string of function explode expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Data/PivotTable.php + - message: '#^Property Icinga\\Module\\Icingadb\\Data\\PivotTable\:\:\$gridcols type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue @@ -2904,6 +2670,12 @@ parameters: count: 1 path: library/Icingadb/Data/VolatileCsvResults.php + - + message: '#^Parameter \#1 \$array of function array_keys expects array, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Data/VolatileCsvResults.php + - message: '#^Parameter \#1 \$key of method Icinga\\Module\\Icingadb\\Data\\VolatileCsvResults\:\:formatValue\(\) expects string, mixed given\.$#' identifier: argument.type @@ -3108,6 +2880,12 @@ parameters: count: 1 path: library/Icingadb/Model/Behavior/ActionAndNoteUrl.php + - + message: '#^Parameter \#2 \$string of function explode expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Model/Behavior/ActionAndNoteUrl.php + - message: '#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\.$#' identifier: foreach.nonIterable @@ -3198,12 +2976,6 @@ parameters: count: 1 path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - - message: '#^Parameter \#2 \$value of static method ipl\\Stdlib\\Filter\:\:equal\(\) expects array\|bool\|float\|int\|string, mixed given\.$#' - identifier: argument.type - count: 1 - path: library/Icingadb/Model/Behavior/FlattenedObjectVars.php - - message: '#^Part \$column \(mixed\) of encapsed string cannot be cast to string\.$#' identifier: encapsedStringPart.nonString @@ -4806,6 +4578,12 @@ parameters: count: 1 path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php + - + message: '#^Parameter \#1 \$value of function count expects array\|Countable, Icinga\\Module\\Reporting\\ReportData\|null given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/ProvidedHook/Reporting/SlaReport.php + - message: '#^Parameter \#2 \$end of class Icinga\\Module\\Reporting\\Timerange constructor expects DateTime, mixed given\.$#' identifier: argument.type @@ -5280,6 +5058,12 @@ parameters: count: 1 path: library/Icingadb/Util/PerfData.php + - + message: '#^Parameter \#1 \$num of function number_format expects float, float\|int\|string given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Util/PerfData.php + - message: '#^Parameter \#1 \$value of method Icinga\\Module\\Icingadb\\Util\\ThresholdRange\:\:contains\(\) expects float, float\|null given\.$#' identifier: argument.type @@ -5496,6 +5280,12 @@ parameters: count: 1 path: library/Icingadb/Util/PluginOutput.php + - + message: '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Util/PluginOutput.php + - message: '#^Property Icinga\\Module\\Icingadb\\Util\\PluginOutput\:\:\$renderedOutput \(string\) does not accept string\|null\.$#' identifier: assign.propertyType @@ -5574,12 +5364,6 @@ parameters: count: 1 path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - - message: '#^Cannot access property \$flatname on array\\.$#' - identifier: property.nonObject - count: 1 - path: library/Icingadb/Web/Control/SearchBar/ObjectSuggestions.php - - message: '#^Cannot call method getRoles\(\) on Icinga\\User\|null\.$#' identifier: method.nonObject @@ -5850,12 +5634,6 @@ parameters: count: 1 path: library/Icingadb/Web/Controller.php - - - message: '#^Method Icinga\\Module\\Icingadb\\Web\\Controller\:\:sendAsPdf\(\) has no return type specified\.$#' - identifier: missingType.return - count: 1 - path: library/Icingadb/Web/Controller.php - - message: '#^PHPDoc tag @param references unknown parameter\: \$preserveParams$#' identifier: parameter.notFound @@ -5898,6 +5676,18 @@ parameters: count: 3 path: library/Icingadb/Web/Controller.php + - + message: '#^Parameter \#1 \$string of function trim expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Web/Controller.php + + - + message: '#^Parameter \#2 \$string of function explode expects string, mixed given\.$#' + identifier: argument.type + count: 1 + path: library/Icingadb/Web/Controller.php + - message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' identifier: argument.type @@ -6396,12 +6186,6 @@ parameters: count: 1 path: library/Icingadb/Widget/Detail/CustomVarTable.php - - - message: '#^Parameter \#2 \$value of method ipl\\Html\\Attributes\:\:add\(\) expects array\|bool\|string\|null, int given\.$#' - identifier: argument.type - count: 1 - path: library/Icingadb/Widget/Detail/CustomVarTable.php - - message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\CustomVarTable\:\:\$data \(array\) does not accept iterable\.$#' identifier: assign.propertyType @@ -7128,12 +6912,6 @@ parameters: count: 3 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - - message: '#^Parameter \#1 \$view of method Icinga\\Module\\Monitoring\\Hook\\DetailviewExtensionHook\:\:setView\(\) expects Icinga\\Web\\View, null given\.$#' - identifier: argument.type - count: 1 - path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: '#^Parameter \#2 \$tableName of method ipl\\Orm\\Resolver\:\:qualifyColumn\(\) expects string, int\\|int\<1, max\>\|string given\.$#' identifier: argument.type @@ -7146,12 +6924,6 @@ parameters: count: 2 path: library/Icingadb/Widget/Detail/ObjectDetail.php - - - message: '#^Possibly invalid array key type array\|bool\|string\|null\.$#' - identifier: offsetAccess.invalidOffset - count: 1 - path: library/Icingadb/Widget/Detail/ObjectDetail.php - - message: '#^Property Icinga\\Module\\Icingadb\\Widget\\Detail\\ObjectDetail\:\:\$compatObject has no type specified\.$#' identifier: missingType.property diff --git a/phpstan.neon b/phpstan.neon index a0656a4b..453c5389 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,6 +1,5 @@ includes: - - phpstan-baseline-standard.neon - - phpstan-baseline-by-php-version.php + - phpstan-baseline.neon parameters: level: max