From a9d98bdf737691d76f597d460a36c6905b0c2cf8 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 18 Jun 2020 18:07:10 +0100 Subject: [PATCH] phpstan: baseline our way into checkExplicitMixed territory --- phpstan.neon.dist | 2 + .../check-explicit-mixed-baseline.neon | 652 ++++++++++++++++++ 2 files changed, 654 insertions(+) create mode 100644 tests/phpstan/configs/check-explicit-mixed-baseline.neon diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 131368b17..c12d5977f 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -1,5 +1,6 @@ includes: - tests/phpstan/configs/actual-problems.neon + - tests/phpstan/configs/check-explicit-mixed-baseline.neon - tests/phpstan/configs/com-dotnet-magic.neon - tests/phpstan/configs/custom-leveldb.neon - tests/phpstan/configs/gc-hacks.neon @@ -16,6 +17,7 @@ includes: parameters: level: 8 + checkExplicitMixed: true bootstrapFiles: - tests/phpstan/bootstrap.php scanFiles: diff --git a/tests/phpstan/configs/check-explicit-mixed-baseline.neon b/tests/phpstan/configs/check-explicit-mixed-baseline.neon new file mode 100644 index 000000000..a0389d027 --- /dev/null +++ b/tests/phpstan/configs/check-explicit-mixed-baseline.neon @@ -0,0 +1,652 @@ +parameters: + ignoreErrors: + - + message: "#^Cannot access offset string on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/CrashDump.php + + - + message: "#^Parameter \\#3 \\$subject of function preg_replace expects array\\|string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/CrashDump.php + + - + message: "#^Cannot access offset float\\|int on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/CrashDump.php + + - + message: "#^Parameter \\#1 \\$path of static method pocketmine\\\\utils\\\\Utils\\:\\:cleanPath\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/CrashDump.php + + - + message: "#^Cannot access offset 'name' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/CrashDump.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 7 + path: ../../../src/pocketmine/MemoryManager.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 3 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#1 \\$skinId of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#10 \\$personaCapeOnClassic of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects bool, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#11 \\$capeId of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#13 \\$armSize of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#14 \\$skinColor of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#8 \\$premium of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects bool, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#9 \\$persona of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinData constructor expects bool, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#1 \\$str of function base64_decode expects string, mixed given\\.$#" + count: 5 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#1 \\$height of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinImage constructor expects int, mixed given\\.$#" + count: 2 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#2 \\$width of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\types\\\\SkinImage constructor expects int, mixed given\\.$#" + count: 2 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Parameter \\#1 \\.\\.\\.\\$slots of method pocketmine\\\\inventory\\\\BaseInventory\\:\\:addItem\\(\\) expects pocketmine\\\\item\\\\Item, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Player.php + + - + message: "#^Cannot access offset 'git' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/PocketMine.php + + - + message: "#^Parameter \\#1 \\$name of static method pocketmine\\\\level\\\\format\\\\io\\\\LevelProviderManager\\:\\:getProviderByName\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Cannot cast mixed to string\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 7 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Parameter \\#1 \\$str of function strtolower expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Parameter \\#2 \\$defaultValue of method pocketmine\\\\Server\\:\\:getConfigString\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Cannot cast mixed to float\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Parameter \\#2 \\$endpoint of class pocketmine\\\\updater\\\\AutoUpdater constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Parameter \\#2 \\$reason of method pocketmine\\\\Player\\:\\:close\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Cannot access offset 'type' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/Server.php + + - + message: "#^Method pocketmine\\\\ThreadManager\\:\\:getAll\\(\\) should return array\\ but returns array\\.$#" + count: 1 + path: ../../../src/pocketmine/ThreadManager.php + + - + message: "#^Cannot cast mixed to string\\.$#" + count: 1 + path: ../../../src/pocketmine/command/CommandReader.php + + - + message: "#^Parameter \\#1 \\$number of function round expects float, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/command/defaults/StatusCommand.php + + - + message: "#^Parameter \\#2 \\$host of class class@anonymous/src/pocketmine/command/defaults/TimingsCommand\\.php\\:126 constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/command/defaults/TimingsCommand.php + + - + message: "#^Cannot access offset 0 on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/command/defaults/TimingsCommand.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: ../../../src/pocketmine/command/defaults/VanillaCommand.php + + - + message: "#^Cannot cast mixed to float\\.$#" + count: 1 + path: ../../../src/pocketmine/command/defaults/VanillaCommand.php + + - + message: "#^Parameter \\#1 \\$id of static method pocketmine\\\\entity\\\\Effect\\:\\:getEffect\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/entity/Effect.php + + - + message: "#^Method pocketmine\\\\entity\\\\Entity\\:\\:getSaveId\\(\\) should return string but returns mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/entity/Entity.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 2 + path: ../../../src/pocketmine/entity/Entity.php + + - + message: "#^Parameter \\#1 \\$fireTicks of method pocketmine\\\\entity\\\\Entity\\:\\:setFireTicks\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/entity/Entity.php + + - + message: "#^Method pocketmine\\\\event\\\\EventPriority\\:\\:fromString\\(\\) should return int but returns mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/event/EventPriority.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: ../../../src/pocketmine/inventory/CraftingManager.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: ../../../src/pocketmine/item/Item.php + + - + message: "#^Parameter \\#1 \\$id of static method pocketmine\\\\item\\\\ItemFactory\\:\\:get\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/item/ItemFactory.php + + - + message: "#^Parameter \\#1 \\$id of static method pocketmine\\\\item\\\\enchantment\\\\Enchantment\\:\\:getEnchantment\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/item/enchantment/Enchantment.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 3 + path: ../../../src/pocketmine/level/Level.php + + - + message: "#^Parameter \\#1 \\$keys of function array_fill_keys expects array, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/Level.php + + - + message: "#^Parameter \\#1 \\$buffer of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\BatchPacket constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/ChunkRequestTask.php + + - + message: "#^Cannot cast mixed to string\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php + + - + message: "#^Parameter \\#2 \\$value of class pocketmine\\\\nbt\\\\tag\\\\StringTag constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php + + - + message: "#^Parameter \\#2 \\$str of function explode expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php + + - + message: "#^Cannot cast mixed to string\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/region/McRegion.php + + - + message: "#^Parameter \\#2 \\$value of class pocketmine\\\\nbt\\\\tag\\\\StringTag constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/format/io/region/McRegion.php + + - + message: "#^Property pocketmine\\\\level\\\\generator\\\\Flat\\:\\:\\$preset \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/level/generator/Flat.php + + - + message: "#^Parameter \\#4 \\$q0 of static method pocketmine\\\\level\\\\generator\\\\noise\\\\Noise\\:\\:linearLerp\\(\\) expects float, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/generator/noise/Noise.php + + - + message: "#^Parameter \\#5 \\$q1 of static method pocketmine\\\\level\\\\generator\\\\noise\\\\Noise\\:\\:linearLerp\\(\\) expects float, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/level/generator/noise/Noise.php + + - + message: "#^Cannot access offset int on mixed\\.$#" + count: 6 + path: ../../../src/pocketmine/level/generator/noise/Noise.php + + - + message: "#^Cannot call method invalidate\\(\\) on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/metadata/MetadataStore.php + + - + message: "#^Parameter \\#1 \\$buffer of class pocketmine\\\\network\\\\mcpe\\\\protocol\\\\BatchPacket constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/CompressBatchedTask.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\utils\\\\BinaryStream\\:\\:putByte\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\utils\\\\BinaryStream\\:\\:putLShort\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\utils\\\\BinaryStream\\:\\:putVarInt\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\utils\\\\BinaryStream\\:\\:putLFloat\\(\\) expects float, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\network\\\\mcpe\\\\NetworkBinaryStream\\:\\:putString\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$data of method pocketmine\\\\nbt\\\\NBTStream\\:\\:write\\(\\) expects array\\\\|pocketmine\\\\nbt\\\\tag\\\\NamedTag, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Cannot access property \\$x on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Cannot access property \\$y on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Cannot access property \\$z on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$v of method pocketmine\\\\utils\\\\BinaryStream\\:\\:putVarLong\\(\\) expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Parameter \\#1 \\$vector of method pocketmine\\\\network\\\\mcpe\\\\NetworkBinaryStream\\:\\:putVector3Nullable\\(\\) expects pocketmine\\\\math\\\\Vector3\\|null, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/NetworkBinaryStream.php + + - + message: "#^Cannot cast mixed to int\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/RakLibInterface.php + + - + message: "#^Cannot access offset 'down' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/RakLibInterface.php + + - + message: "#^Cannot access offset 'up' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/RakLibInterface.php + + - + message: "#^Cannot access offset 'x5u' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/VerifyLoginTask.php + + - + message: "#^Cannot access offset 'nbf' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/VerifyLoginTask.php + + - + message: "#^Cannot access offset 'exp' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/VerifyLoginTask.php + + - + message: "#^Cannot access offset 'identityPublicKey' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/VerifyLoginTask.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\AddActorPacket\\:\\:\\$metadata \\(array\\\\) does not accept array\\\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/AddActorPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\AddItemActorPacket\\:\\:\\$metadata \\(array\\\\) does not accept array\\\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/AddItemActorPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\AddPlayerPacket\\:\\:\\$metadata \\(array\\\\) does not accept array\\\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/AddPlayerPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\LoginPacket\\:\\:\\$chainData \\(array\\(\\?'chain' \\=\\> array\\\\)\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Cannot access offset 'chain' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Cannot access offset 'displayName' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Cannot access offset 'identity' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Cannot access offset 'XUID' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\LoginPacket\\:\\:\\$identityPublicKey \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\LoginPacket\\:\\:\\$clientId \\(int\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\LoginPacket\\:\\:\\$serverAddress \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\LoginPacket\\:\\:\\$locale \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/LoginPacket.php + + - + message: "#^Property pocketmine\\\\network\\\\mcpe\\\\protocol\\\\SetActorDataPacket\\:\\:\\$metadata \\(array\\\\) does not accept array\\\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/SetActorDataPacket.php + + - + message: "#^Parameter \\#1 \\$table of static method pocketmine\\\\network\\\\mcpe\\\\protocol\\\\StartGamePacket\\:\\:serializeItemTable\\(\\) expects array\\, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/StartGamePacket.php + + - + message: "#^Cannot access offset 'geometry' on mixed\\.$#" + count: 3 + path: ../../../src/pocketmine/network/mcpe/protocol/types/LegacySkinAdapter.php + + - + message: "#^Cannot access offset string on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/network/mcpe/protocol/types/RuntimeBlockMapping.php + + - + message: "#^Parameter \\#1 \\$value of static method pocketmine\\\\permission\\\\Permission\\:\\:getByName\\(\\) expects bool\\|string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/permission/Permission.php + + - + message: "#^Parameter \\#2 \\$description of class pocketmine\\\\permission\\\\Permission constructor expects string\\|null, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/permission/Permission.php + + - + message: "#^Parameter \\#1 \\$plugin of method pocketmine\\\\plugin\\\\PluginDescription\\:\\:loadMap\\(\\) expects array, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Property pocketmine\\\\plugin\\\\PluginDescription\\:\\:\\$name \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#2 \\$subject of function preg_match expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#3 \\$subject of function str_replace expects array\\|string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Cannot cast mixed to string\\.$#" + count: 4 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Property pocketmine\\\\plugin\\\\PluginDescription\\:\\:\\$main \\(string\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#1 \\$haystack of function stripos expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#1 \\$str of function mb_strtoupper expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Property pocketmine\\\\plugin\\\\PluginDescription\\:\\:\\$order \\(int\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Array \\(array\\\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#1 \\$data of static method pocketmine\\\\permission\\\\Permission\\:\\:loadPermissions\\(\\) expects array\\\\>, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Method pocketmine\\\\plugin\\\\PluginDescription\\:\\:getRequiredExtensions\\(\\) should return array\\\\> but returns array\\\\>\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#1 \\$str of function substr expects string, mixed given\\.$#" + count: 2 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Part \\$constr \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + count: 2 + path: ../../../src/pocketmine/plugin/PluginDescription.php + + - + message: "#^Parameter \\#1 \\$description of method pocketmine\\\\command\\\\Command\\:\\:setDescription\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginManager.php + + - + message: "#^Parameter \\#1 \\$usage of method pocketmine\\\\command\\\\Command\\:\\:setUsage\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginManager.php + + - + message: "#^Parameter \\#1 \\$permissionMessage of method pocketmine\\\\command\\\\Command\\:\\:setPermissionMessage\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/plugin/PluginManager.php + + - + message: "#^Part \\$openResult \\(mixed\\) of encapsed string cannot be cast to string\\.$#" + count: 1 + path: ../../../src/pocketmine/resourcepacks/ZippedResourcePack.php + + - + message: "#^Parameter \\#2 \\$code of class pocketmine\\\\resourcepacks\\\\ResourcePackException constructor expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/resourcepacks/ZippedResourcePack.php + + - + message: "#^Property pocketmine\\\\scheduler\\\\AsyncTask\\:\\:\\$result \\(bool\\|float\\|int\\|string\\|null\\) does not accept mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/scheduler/AsyncTask.php + + - + message: "#^Parameter \\#1 \\$variable_representation of function unserialize expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/scheduler/AsyncTask.php + + - + message: "#^Method pocketmine\\\\tile\\\\Tile\\:\\:getSaveId\\(\\) should return string but returns mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/tile/Tile.php + + - + message: "#^Parameter \\#2 \\$timestamp of function date expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/updater/AutoUpdater.php + + - + message: "#^Parameter \\#1 \\$baseVersion of class pocketmine\\\\utils\\\\VersionString constructor expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/updater/AutoUpdater.php + + - + message: "#^Parameter \\#2 \\$isDevBuild of class pocketmine\\\\utils\\\\VersionString constructor expects bool, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/updater/AutoUpdater.php + + - + message: "#^Parameter \\#3 \\$buildNumber of class pocketmine\\\\utils\\\\VersionString constructor expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/updater/AutoUpdater.php + + - + message: "#^Parameter \\#1 \\$str of function strtolower expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/updater/AutoUpdater.php + + - + message: "#^Parameter \\#3 \\$length of function substr expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/Internet.php + + - + message: "#^Parameter \\#2 \\$start of function substr expects int, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/Internet.php + + - + message: "#^Parameter \\#2 \\$str of function fwrite expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/MainLogger.php + + - + message: "#^Cannot access offset 'status' on mixed\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/Timezone.php + + - + message: "#^Cannot access offset 'timezone' on mixed\\.$#" + count: 2 + path: ../../../src/pocketmine/utils/Timezone.php + + - + message: "#^Parameter \\#2 \\$input1 of function array_map expects array, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/Utils.php + + - + message: "#^Parameter \\#1 \\$path of static method pocketmine\\\\utils\\\\Utils\\:\\:cleanPath\\(\\) expects string, mixed given\\.$#" + count: 1 + path: ../../../src/pocketmine/utils/Utils.php +