diff --git a/src/CrashDump.php b/src/CrashDump.php index e6f72de5f..553611608 100644 --- a/src/CrashDump.php +++ b/src/CrashDump.php @@ -44,6 +44,7 @@ use function fwrite; use function get_loaded_extensions; use function implode; use function is_dir; +use function is_int; use function is_resource; use function json_encode; use function json_last_error_msg; diff --git a/src/utils/MainLogger.php b/src/utils/MainLogger.php index f2c1ae160..ebce6012e 100644 --- a/src/utils/MainLogger.php +++ b/src/utils/MainLogger.php @@ -28,6 +28,7 @@ use pocketmine\errorhandler\ErrorTypeToStringMap; use pocketmine\thread\Thread; use pocketmine\thread\Worker; use function get_class; +use function is_int; use function preg_replace; use function sprintf; use function trim; @@ -159,10 +160,12 @@ class MainLogger extends \AttachableThreadedLogger implements \BufferedLogger{ $errstr = preg_replace('/\s+/', ' ', trim($e->getMessage())); $errno = $e->getCode(); - try{ - $errno = ErrorTypeToStringMap::get($errno); - }catch(\InvalidArgumentException $ex){ - //pass + if(is_int($errno)){ + try{ + $errno = ErrorTypeToStringMap::get($errno); + }catch(\InvalidArgumentException $ex){ + //pass + } } $errfile = Filesystem::cleanPath($e->getFile()); diff --git a/tests/phpstan/configs/check-explicit-mixed-baseline.neon b/tests/phpstan/configs/check-explicit-mixed-baseline.neon index f43930171..c5c875fb5 100644 --- a/tests/phpstan/configs/check-explicit-mixed-baseline.neon +++ b/tests/phpstan/configs/check-explicit-mixed-baseline.neon @@ -205,11 +205,6 @@ parameters: count: 1 path: ../../../src/utils/Internet.php - - - message: "#^Parameter \\#1 \\$errorType of static method pocketmine\\\\errorhandler\\\\ErrorTypeToStringMap\\:\\:get\\(\\) expects int, mixed given\\.$#" - count: 1 - path: ../../../src/utils/MainLogger.php - - message: "#^Part \\$errno \\(mixed\\) of encapsed string cannot be cast to string\\.$#" count: 1