diff --git a/phpstan.neon.dist b/phpstan.neon.dist index e2d3ca6d5..b1fb36c2d 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -14,37 +14,9 @@ parameters: reportUnmatchedIgnoredErrors: false #no other way to silence platform-specific non-warnings ignoreErrors: - - message: "#^pocketmine\\\\Player\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\entity\\\\Human\\.$#" - path: src/pocketmine/Player.php - - - - message: "#^pocketmine\\\\block\\\\[A-Za-z\\d]+\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\block\\\\Block\\.$#" - path: src/pocketmine/block - - - - message: "#^pocketmine\\\\block\\\\Block\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\level\\\\Position\\.$#" + message: "#^Cannot instantiate interface pocketmine\\\\level\\\\format\\\\io\\\\LevelProvider\\.$#" count: 1 - path: src/pocketmine/block/Block.php - - - - message: "#^pocketmine\\\\inventory\\\\DoubleChestInventory\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\inventory\\\\ChestInventory\\.$#" - count: 1 - path: src/pocketmine/inventory/DoubleChestInventory.php - - - - message: "#^pocketmine\\\\inventory\\\\EnderChestInventory\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\inventory\\\\ChestInventory\\.$#" - count: 1 - path: src/pocketmine/inventory/EnderChestInventory.php - - - - message: "#^pocketmine\\\\item\\\\GoldenAppleEnchanted\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\item\\\\GoldenApple\\.$#" - count: 1 - path: src/pocketmine/item/GoldenAppleEnchanted.php - - - - message: "#^pocketmine\\\\item\\\\WrittenBook\\:\\:__construct\\(\\) does not call parent constructor from pocketmine\\\\item\\\\WritableBook\\.$#" - count: 1 - path: src/pocketmine/item/WrittenBook.php + path: src/pocketmine/Server.php - message: "#^Constructor of class pocketmine\\\\level\\\\generator\\\\hell\\\\Nether has an unused parameter \\$options\\.$#" @@ -102,4 +74,4 @@ parameters: message: "#^Call to an undefined method pocketmine\\\\command\\\\CommandSender\\:\\:teleport\\(\\)\\.$#" count: 1 path: src/pocketmine/command/defaults/TeleportCommand.php - comment: "not actually possible, but high cost to fix warning" +# comment: "not actually possible, but high cost to fix warning" diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 1cf723eff..1cf67ef43 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1799,7 +1799,6 @@ class Server{ return $this->broadcast($message, self::BROADCAST_CHANNEL_USERS); } - /** @var CommandSender[] $recipients */ foreach($recipients as $recipient){ $recipient->sendMessage($message); } @@ -1824,7 +1823,6 @@ class Server{ } } - /** @var Player[] $recipients */ foreach($recipients as $recipient){ $recipient->sendTip($tip); } @@ -1850,7 +1848,6 @@ class Server{ } } - /** @var Player[] $recipients */ foreach($recipients as $recipient){ $recipient->sendPopup($popup); } @@ -1880,7 +1877,6 @@ class Server{ } } - /** @var Player[] $recipients */ foreach($recipients as $recipient){ $recipient->sendTitle($title, $subtitle, $fadeIn, $stay, $fadeOut); } diff --git a/src/pocketmine/event/Event.php b/src/pocketmine/event/Event.php index 015cdaafd..b2c0b9dee 100644 --- a/src/pocketmine/event/Event.php +++ b/src/pocketmine/event/Event.php @@ -56,7 +56,6 @@ abstract class Event{ throw new \BadMethodCallException(get_class($this) . " is not Cancellable"); } - /** @var Event $this */ return $this->isCancelled; } @@ -70,7 +69,6 @@ abstract class Event{ throw new \BadMethodCallException(get_class($this) . " is not Cancellable"); } - /** @var Event $this */ $this->isCancelled = $value; } diff --git a/src/pocketmine/network/mcpe/protocol/AvailableCommandsPacket.php b/src/pocketmine/network/mcpe/protocol/AvailableCommandsPacket.php index 86088c8dc..d938ad485 100644 --- a/src/pocketmine/network/mcpe/protocol/AvailableCommandsPacket.php +++ b/src/pocketmine/network/mcpe/protocol/AvailableCommandsPacket.php @@ -359,12 +359,9 @@ class AvailableCommandsPacket extends DataPacket{ $enumValueIndexes[$str] = $enumValueIndexes[$str] ?? count($enumValueIndexes); //latest index } } - + /** @var CommandParameter[] $overload */ foreach($commandData->overloads as $overload){ - /** - * @var CommandParameter[] $overload - * @var CommandParameter $parameter - */ + /** @var CommandParameter $parameter */ foreach($overload as $parameter){ if($parameter->enum !== null){ if(!isset($enumIndexes[$parameter->enum->enumName])){ diff --git a/src/pocketmine/plugin/PluginManager.php b/src/pocketmine/plugin/PluginManager.php index c096d4338..6c1c8bead 100644 --- a/src/pocketmine/plugin/PluginManager.php +++ b/src/pocketmine/plugin/PluginManager.php @@ -733,7 +733,7 @@ class PluginManager{ $eventClass = $parameters[0]->getClass(); }catch(\ReflectionException $e){ //class doesn't exist if(isset($tags["softDepend"]) && !isset($this->plugins[$tags["softDepend"]])){ - $this->server->getLogger()->debug("Not registering @softDepend listener " . Utils::getNiceClosureName($handlerClosure) . "(" . $parameters[0]->getType()->getName() . ") because plugin \"" . $tags["softDepend"] . "\" not found"); + $this->server->getLogger()->debug("Not registering @softDepend listener " . Utils::getNiceClosureName($handlerClosure) . "() because plugin \"" . $tags["softDepend"] . "\" not found"); continue; } diff --git a/tests/phpstan/configs/optional-com-dotnet.neon b/tests/phpstan/configs/optional-com-dotnet.neon index efa2d82ab..fb725539c 100644 --- a/tests/phpstan/configs/optional-com-dotnet.neon +++ b/tests/phpstan/configs/optional-com-dotnet.neon @@ -3,10 +3,10 @@ parameters: - message: "#^Instantiated class COM not found\\.$#" count: 2 - path: src/pocketmine/network/upnp/UPnP.php + path: ../../../src/pocketmine/network/upnp/UPnP.php - message: "#^Access to property \\$StaticPortMappingCollection on an unknown class COM\\.$#" count: 4 - path: src/pocketmine/network/upnp/UPnP.php + path: ../../../src/pocketmine/network/upnp/UPnP.php diff --git a/tests/phpstan/configs/optional-leveldb.neon b/tests/phpstan/configs/optional-leveldb.neon index 7ad8f1e28..91ff01bb5 100644 --- a/tests/phpstan/configs/optional-leveldb.neon +++ b/tests/phpstan/configs/optional-leveldb.neon @@ -2,29 +2,29 @@ parameters: ignoreErrors: - message: "#^Used constant LEVELDB_ZLIB_RAW_COMPRESSION not found\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Constant LEVELDB_ZLIB_RAW_COMPRESSION not found\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Instantiated class LevelDB not found\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Return typehint of method pocketmine\\\\level\\\\format\\\\io\\\\leveldb\\\\LevelDB\\:\\:createDB\\(\\) has invalid type LevelDB\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Return typehint of method pocketmine\\\\level\\\\format\\\\io\\\\leveldb\\\\LevelDB\\:\\:getDatabase\\(\\) has invalid type LevelDB\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Property pocketmine\\\\level\\\\format\\\\io\\\\leveldb\\\\LevelDB\\:\\:\\$db has unknown class LevelDB as its type\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php - message: "#^Call to method (get|put|delete|close)\\(\\) on an unknown class LevelDB\\.$#" - path: src/pocketmine/level/format/io/leveldb/LevelDB.php + path: ../../../src/pocketmine/level/format/io/leveldb/LevelDB.php diff --git a/tests/phpstan/configs/phpstan-bugs.neon b/tests/phpstan/configs/phpstan-bugs.neon index 90fef5cea..d6503d71f 100644 --- a/tests/phpstan/configs/phpstan-bugs.neon +++ b/tests/phpstan/configs/phpstan-bugs.neon @@ -1,10 +1,10 @@ parameters: ignoreErrors: - - message: "#^PHPDoc tag @param has invalid value \\(.+\\)\\: Unexpected token \"&\", expected TOKEN_VARIABLE at offset \\d+$#" - path: src/pocketmine + message: "#^PHPDoc tag @param has invalid value \\(.+\\)\\: Unexpected token \"&\", expected variable at offset \\d+$#" + path: ../../../src/pocketmine - message: "#^Default value of the parameter \\#\\d+ \\$[A-Za-z\\d_]+ \\(\\-?\\d+\\) of method .+\\(\\) is incompatible with type float\\.$#" - path: src/pocketmine + path: ../../../src/pocketmine diff --git a/tests/phpstan/configs/pthreads-bugs.neon b/tests/phpstan/configs/pthreads-bugs.neon index 65979a989..3b4bcadcb 100644 --- a/tests/phpstan/configs/pthreads-bugs.neon +++ b/tests/phpstan/configs/pthreads-bugs.neon @@ -2,5 +2,5 @@ parameters: ignoreErrors: - message: "#^Variable \\$GLOBALS in isset\\(\\) always exists and is not nullable\\.$#" - path: src/pocketmine/MemoryManager.php + path: ../../../src/pocketmine/MemoryManager.php diff --git a/tests/travis.sh b/tests/travis.sh index a58341493..ba90d4a19 100755 --- a/tests/travis.sh +++ b/tests/travis.sh @@ -21,7 +21,7 @@ if [ $? -ne 0 ]; then exit 1 fi -[ ! -f phpstan.phar ] && echo "Downloading PHPStan..." && curl -sSLO https://github.com/phpstan/phpstan/releases/download/0.11.19/phpstan.phar +[ ! -f phpstan.phar ] && echo "Downloading PHPStan..." && curl -sSLO https://github.com/phpstan/phpstan/releases/download/0.12.0/phpstan.phar "$PHP_BINARY" phpstan.phar analyze --no-progress --memory-limit=2G || exit 1 echo "PHPStan scan succeeded"