add native return types to closures (for phpstan)

This commit is contained in:
Dylan K. Taylor 2020-02-07 22:05:15 +00:00
parent aac7da6c96
commit d2aca6023b
10 changed files with 15 additions and 15 deletions

View File

@ -138,7 +138,7 @@ class Banner extends Transparent{
* @phpstan-param Deque<BannerPattern> $patterns * @phpstan-param Deque<BannerPattern> $patterns
*/ */
public function setPatterns(Deque $patterns) : void{ public function setPatterns(Deque $patterns) : void{
$checked = $patterns->filter(function($v){ return $v instanceof BannerPattern; }); $checked = $patterns->filter(function($v) : bool{ return $v instanceof BannerPattern; });
if($checked->count() !== $patterns->count()){ if($checked->count() !== $patterns->count()){
throw new \TypeError("Deque must only contain " . BannerPattern::class . " objects"); throw new \TypeError("Deque must only contain " . BannerPattern::class . " objects");
} }

View File

@ -46,10 +46,10 @@ class CallbackInventoryChangeListener implements InventoryChangeListener{
*/ */
public function __construct(?\Closure $onSlotChange, ?\Closure $onContentChange){ public function __construct(?\Closure $onSlotChange, ?\Closure $onContentChange){
if($onSlotChange !== null){ if($onSlotChange !== null){
Utils::validateCallableSignature(function(Inventory $inventory, int $slot){}, $onSlotChange); Utils::validateCallableSignature(function(Inventory $inventory, int $slot) : void{}, $onSlotChange);
} }
if($onContentChange !== null){ if($onContentChange !== null){
Utils::validateCallableSignature(function(Inventory $inventory){}, $onContentChange); Utils::validateCallableSignature(function(Inventory $inventory) : void{}, $onContentChange);
} }
$this->onSlotChangeCallback = $onSlotChange; $this->onSlotChangeCallback = $onSlotChange;

View File

@ -740,7 +740,7 @@ class NetworkSession{
* @phpstan-param \Closure(int $chunkX, int $chunkZ) : void $onCompletion * @phpstan-param \Closure(int $chunkX, int $chunkZ) : void $onCompletion
*/ */
public function startUsingChunk(int $chunkX, int $chunkZ, \Closure $onCompletion) : void{ public function startUsingChunk(int $chunkX, int $chunkZ, \Closure $onCompletion) : void{
Utils::validateCallableSignature(function(int $chunkX, int $chunkZ){}, $onCompletion); Utils::validateCallableSignature(function(int $chunkX, int $chunkZ) : void{}, $onCompletion);
$world = $this->player->getLocation()->getWorld(); $world = $this->player->getLocation()->getWorld();
assert($world !== null); assert($world !== null);
@ -797,7 +797,7 @@ class NetworkSession{
} }
public function syncPlayerList() : void{ public function syncPlayerList() : void{
$this->sendDataPacket(PlayerListPacket::add(array_map(function(Player $player){ $this->sendDataPacket(PlayerListPacket::add(array_map(function(Player $player) : PlayerListEntry{
return PlayerListEntry::createAdditionEntry($player->getUniqueId(), $player->getId(), $player->getDisplayName(), SkinAdapterSingleton::get()->toSkinData($player->getSkin()), $player->getXuid()); return PlayerListEntry::createAdditionEntry($player->getUniqueId(), $player->getId(), $player->getDisplayName(), SkinAdapterSingleton::get()->toSkinData($player->getSkin()), $player->getXuid());
}, $this->server->getOnlinePlayers()))); }, $this->server->getOnlinePlayers())));
} }

View File

@ -45,7 +45,7 @@ class CompressBatchPromise{
public function onResolve(\Closure ...$callbacks) : void{ public function onResolve(\Closure ...$callbacks) : void{
$this->checkCancelled(); $this->checkCancelled();
foreach($callbacks as $callback){ foreach($callbacks as $callback){
Utils::validateCallableSignature(function(CompressBatchPromise $promise){}, $callback); Utils::validateCallableSignature(function(CompressBatchPromise $promise) : void{}, $callback);
} }
if($this->result !== null){ if($this->result !== null){
foreach($callbacks as $callback){ foreach($callbacks as $callback){

View File

@ -63,7 +63,7 @@ class ResourcePacksPacketHandler extends PacketHandler{
} }
public function setUp() : void{ public function setUp() : void{
$resourcePackEntries = array_map(static function(ResourcePack $pack){ $resourcePackEntries = array_map(static function(ResourcePack $pack) : ResourcePackInfoEntry{
//TODO: more stuff //TODO: more stuff
return new ResourcePackInfoEntry($pack->getPackId(), $pack->getPackVersion(), $pack->getPackSize(), "", "", "", false); return new ResourcePackInfoEntry($pack->getPackId(), $pack->getPackVersion(), $pack->getPackSize(), "", "", "", false);
}, $this->resourcePackManager->getResourceStack()); }, $this->resourcePackManager->getResourceStack());
@ -109,7 +109,7 @@ class ResourcePacksPacketHandler extends PacketHandler{
break; break;
case ResourcePackClientResponsePacket::STATUS_HAVE_ALL_PACKS: case ResourcePackClientResponsePacket::STATUS_HAVE_ALL_PACKS:
$stack = array_map(static function(ResourcePack $pack){ $stack = array_map(static function(ResourcePack $pack) : ResourcePackStackEntry{
return new ResourcePackStackEntry($pack->getPackId(), $pack->getPackVersion(), ""); //TODO: subpacks return new ResourcePackStackEntry($pack->getPackId(), $pack->getPackVersion(), ""); //TODO: subpacks
}, $this->resourcePackManager->getResourceStack()); }, $this->resourcePackManager->getResourceStack());

View File

@ -41,9 +41,9 @@ class CommandData{
* @param CommandParameter[][] $overloads * @param CommandParameter[][] $overloads
*/ */
public function __construct(string $name, string $description, int $flags, int $permission, ?CommandEnum $aliases, array $overloads){ public function __construct(string $name, string $description, int $flags, int $permission, ?CommandEnum $aliases, array $overloads){
(function(array ...$overloads){ (function(array ...$overloads) : void{
foreach($overloads as $overload){ foreach($overloads as $overload){
(function(CommandParameter ...$parameters){})(...$overload); (function(CommandParameter ...$parameters) : void{})(...$overload);
} }
})(...$overloads); })(...$overloads);
$this->name = $name; $this->name = $name;

View File

@ -93,8 +93,8 @@ final class ApiVersion{
} }
} }
usort($result, static function(VersionString $string1, VersionString $string2){ return $string1->compare($string2); }); usort($result, static function(VersionString $string1, VersionString $string2) : int{ return $string1->compare($string2); });
return array_map(static function(VersionString $string){ return $string->getBaseVersion(); }, $result); return array_map(static function(VersionString $string) : string{ return $string->getBaseVersion(); }, $result);
} }
} }

View File

@ -49,7 +49,7 @@ class ClosureTask extends Task{
* @phpstan-param \Closure(int) : void $closure * @phpstan-param \Closure(int) : void $closure
*/ */
public function __construct(\Closure $closure){ public function __construct(\Closure $closure){
Utils::validateCallableSignature(function(int $currentTick){}, $closure); Utils::validateCallableSignature(function(int $currentTick) : void{}, $closure);
$this->closure = $closure; $this->closure = $closure;
} }

View File

@ -124,7 +124,7 @@ class SendUsageTask extends AsyncTask{
$playerList[$k] = md5($v); $playerList[$k] = md5($v);
} }
$players = array_map(function(Player $p){ return md5($p->getUniqueId()->toBinary()); }, $server->getOnlinePlayers()); $players = array_map(function(Player $p) : string{ return md5($p->getUniqueId()->toBinary()); }, $server->getOnlinePlayers());
$data["players"] = [ $data["players"] = [
"count" => count($players), "count" => count($players),

View File

@ -90,7 +90,7 @@ class SubChunkIteratorManager{
* @phpstan-param \Closure() : void $callback * @phpstan-param \Closure() : void $callback
*/ */
public function onSubChunkChange(\Closure $callback) : void{ public function onSubChunkChange(\Closure $callback) : void{
Utils::validateCallableSignature(function(){}, $callback); Utils::validateCallableSignature(function() : void{}, $callback);
$this->onSubChunkChangeFunc = $callback; $this->onSubChunkChangeFunc = $callback;
} }