includes: - tests/phpstan/configs/com-dotnet-magic.neon - tests/phpstan/configs/custom-leveldb.neon - tests/phpstan/configs/ds-bugs.neon - tests/phpstan/configs/gc-hacks.neon - tests/phpstan/configs/php-bugs.neon - tests/phpstan/configs/phpstan-bugs.neon - tests/phpstan/configs/phpunit-wiring-tests.neon - tests/phpstan/configs/pthreads-bugs.neon - tests/phpstan/configs/runtime-type-checks.neon - vendor/phpstan/phpstan-phpunit/extension.neon - vendor/phpstan/phpstan-phpunit/rules.neon - vendor/phpstan/phpstan-strict-rules/rules.neon rules: - pocketmine\phpstan\rules\DisallowEnumComparisonRule parameters: level: 6 autoload_files: - tests/phpstan/bootstrap.php - src/PocketMine.php - build/make-release.php - build/server-phar.php - vendor/irstea/phpunit-shim/phpunit paths: - src - tests/phpstan/rules - build/make-release.php - build/server-phar.php - tests/phpunit dynamicConstantNames: - pocketmine\IS_DEVELOPMENT_BUILD - pocketmine\DEBUG stubFiles: - tests/phpstan/stubs/JsonMapper.stub - tests/phpstan/stubs/pthreads.stub reportUnmatchedIgnoredErrors: false #no other way to silence platform-specific non-warnings staticReflectionClassNamePatterns: - "#^COM$#" ignoreErrors: - message: "#^Instanceof between pocketmine\\\\plugin\\\\PluginManager and pocketmine\\\\plugin\\\\PluginManager will always evaluate to true\\.$#" count: 1 path: src/CrashDump.php - message: "#^Function parallel\\\\bootstrap not found\\.$#" count: 1 path: src/PocketMine.php - message: "#^Instanceof between pocketmine\\\\plugin\\\\PluginManager and pocketmine\\\\plugin\\\\PluginManager will always evaluate to true\\.$#" count: 1 path: src/Server.php - message: "#^Instanceof between pocketmine\\\\scheduler\\\\AsyncPool and pocketmine\\\\scheduler\\\\AsyncPool will always evaluate to true\\.$#" count: 1 path: src/Server.php - message: "#^Instanceof between pocketmine\\\\command\\\\CommandReader and pocketmine\\\\command\\\\CommandReader will always evaluate to true\\.$#" count: 1 path: src/Server.php - message: "#^Instanceof between pocketmine\\\\network\\\\Network and pocketmine\\\\network\\\\Network will always evaluate to true\\.$#" count: 2 path: src/Server.php - message: "#^Instanceof between pocketmine\\\\world\\\\WorldManager and pocketmine\\\\world\\\\WorldManager will always evaluate to true\\.$#" count: 1 path: src/Server.php - message: "#^Call to an undefined method pocketmine\\\\command\\\\CommandSender\\:\\:teleport\\(\\)\\.$#" count: 1 path: src/command/defaults/TeleportCommand.php # comment: "not actually possible, but high cost to fix warning" - message: "#^Method pocketmine\\\\event\\\\entity\\\\EntityDeathEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\Living but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/EntityDeathEvent.php - message: "#^Method pocketmine\\\\event\\\\entity\\\\EntityShootBowEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\Living but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/EntityShootBowEvent.php - message: "#^Property pocketmine\\\\event\\\\entity\\\\EntityShootBowEvent\\:\\:\\$projectile \\(pocketmine\\\\entity\\\\projectile\\\\Projectile\\) does not accept pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/EntityShootBowEvent.php - message: "#^Method pocketmine\\\\event\\\\entity\\\\ItemDespawnEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\object\\\\ItemEntity but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/ItemDespawnEvent.php - message: "#^Method pocketmine\\\\event\\\\entity\\\\ItemSpawnEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\object\\\\ItemEntity but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/ItemSpawnEvent.php - message: "#^Method pocketmine\\\\event\\\\entity\\\\ProjectileHitEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\projectile\\\\Projectile but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/ProjectileHitEvent.php - message: "#^Method pocketmine\\\\event\\\\entity\\\\ProjectileLaunchEvent\\:\\:getEntity\\(\\) should return pocketmine\\\\entity\\\\projectile\\\\Projectile but returns pocketmine\\\\entity\\\\Entity\\.$#" count: 1 path: src/event/entity/ProjectileLaunchEvent.php - message: "#^pocketmine\\\\inventory\\\\DoubleChestInventory\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\inventory\\\\ChestInventory\\.$#" count: 1 path: src/inventory/DoubleChestInventory.php - message: "#^Cannot instantiate interface pocketmine\\\\world\\\\format\\\\io\\\\WorldProvider\\.$#" count: 1 path: src/world/WorldManager.php - message: "#^Cannot instantiate interface pocketmine\\\\world\\\\format\\\\io\\\\WritableWorldProvider\\.$#" count: 1 path: src/world/WorldManager.php - message: "#^Variable property access on \\$this\\(pocketmine\\\\world\\\\generator\\\\PopulationTask\\)\\.$#" count: 4 path: src/world/generator/PopulationTask.php - message: "#^Cannot instantiate interface pocketmine\\\\world\\\\format\\\\io\\\\WritableWorldProvider\\.$#" count: 2 path: src/world/format/io/FormatConverter.php - message: "#^Constant pocketmine\\\\COMPOSER_AUTOLOADER_PATH not found\\.$#" path: src - message: "#^Constant pocketmine\\\\GIT_COMMIT not found\\.$#" path: src - message: "#^Constant pocketmine\\\\PLUGIN_PATH not found\\.$#" path: src - message: "#^Constant pocketmine\\\\VERSION not found\\.$#" path: src