Selaa lähdekoodia

Last phpstan fixes

Jordi Boggiano 4 vuotta sitten
vanhempi
commit
a6eef7298c

+ 1 - 1
composer.json

@@ -30,7 +30,7 @@
         "rollbar/rollbar": "^1.3",
         "ruflin/elastica": ">=0.90 <7.0.1",
         "swiftmailer/swiftmailer": "^5.3|^6.0",
-        "phpstan/phpstan": "^0.12.59"
+        "phpstan/phpstan": "^0.12.91"
     },
     "suggest": {
         "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",

+ 7 - 4
phpstan.neon.dist

@@ -10,18 +10,21 @@ parameters:
 
     ignoreErrors:
         - '#zend_monitor_|ZEND_MONITOR_#'
-        - '#^Cannot call method ltrim\(\) on int\|false.$#'
         - '#MongoDB\\(Client|Collection)#'
+        # Invalid type info on Redis multi
+        - '#^Cannot call method ltrim\(\) on int\|false.$#'
+
+        # Cannot resolve this cleanly as different normalizers return different types but it is safe
         - message: '#Return type \(string\) of method Monolog\\Formatter\\LineFormatter::normalizeException\(\) should be compatible with return type \(array\) of method Monolog\\Formatter\\NormalizerFormatter::normalizeException\(\)#'
           paths:
             - src/Monolog/Formatter/LineFormatter.php
-        - message: '#Method Monolog\\Handler\\LogglyHandler::loadCurlHandle\(\) never returns resource so it can be removed from the return typehint.#'
-          paths:
-            - src/Monolog/Handler/LogglyHandler.php
 
         # blocked until we only support php8+
         - '#Parameter \#1 \$socket of function (socket_close|socket_sendto|socket_send) expects Socket, resource\|Socket(\|null)? given\.#'
         - '#Parameter \#1 \$handle of function (curl_exec|curl_close|curl_error|curl_errno|curl_setopt) expects CurlHandle, CurlHandle\|resource(\|null)? given\.#'
+        - message: '#Method Monolog\\Handler\\LogglyHandler::loadCurlHandle\(\) never returns resource so it can be removed from the return typehint.#'
+          paths:
+            - src/Monolog/Handler/LogglyHandler.php
 
         # blocked by https://github.com/phpstan/phpstan/issues/5091
         - '#has unknown class Monolog\\Handler\\Record#'

+ 3 - 0
src/Monolog/Formatter/NormalizerFormatter.php

@@ -172,11 +172,14 @@ class NormalizerFormatter implements FormatterInterface
             }
 
             if ($data instanceof \JsonSerializable) {
+                /** @var null|scalar|array<array|scalar|null> $value */
                 $value = $data->jsonSerialize();
             } elseif (method_exists($data, '__toString')) {
+                /** @var string $value */
                 $value = $data->__toString();
             } else {
                 // the rest is normalized by json encoding and decoding it
+                /** @var null|scalar|array<array|scalar|null> $value */
                 $value = json_decode($this->toJson($data, true), true);
             }
 

+ 0 - 2
src/Monolog/Handler/FirePHPHandler.php

@@ -74,8 +74,6 @@ class FirePHPHandler extends AbstractProcessingHandler
     {
         $header = sprintf('%s-%s', static::HEADER_PREFIX, join('-', $meta));
 
-        // See https://github.com/phpstan/phpstan/issues/5219
-        // @phpstan-ignore-next-line
         return [$header => $message];
     }
 

+ 0 - 1
src/Monolog/Logger.php

@@ -436,7 +436,6 @@ class Logger implements LoggerInterface, ResettableInterface
             throw new InvalidArgumentException('Level "'.var_export($level, true).'" is not defined, use one of: '.implode(', ', array_keys(static::$levels) + static::$levels));
         }
 
-        /** @phpstan-ignore-next-line */
         return $level;
     }