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
*/
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()){
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){
if($onSlotChange !== null){
Utils::validateCallableSignature(function(Inventory $inventory, int $slot){}, $onSlotChange);
Utils::validateCallableSignature(function(Inventory $inventory, int $slot) : void{}, $onSlotChange);
}
if($onContentChange !== null){
Utils::validateCallableSignature(function(Inventory $inventory){}, $onContentChange);
Utils::validateCallableSignature(function(Inventory $inventory) : void{}, $onContentChange);
}
$this->onSlotChangeCallback = $onSlotChange;

View File

@ -740,7 +740,7 @@ class NetworkSession{
* @phpstan-param \Closure(int $chunkX, int $chunkZ) : void $onCompletion
*/
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();
assert($world !== null);
@ -797,7 +797,7 @@ class NetworkSession{
}
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());
}, $this->server->getOnlinePlayers())));
}

View File

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

View File

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

View File

@ -41,9 +41,9 @@ class CommandData{
* @param CommandParameter[][] $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){
(function(CommandParameter ...$parameters){})(...$overload);
(function(CommandParameter ...$parameters) : void{})(...$overload);
}
})(...$overloads);
$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
*/
public function __construct(\Closure $closure){
Utils::validateCallableSignature(function(int $currentTick){}, $closure);
Utils::validateCallableSignature(function(int $currentTick) : void{}, $closure);
$this->closure = $closure;
}

View File

@ -124,7 +124,7 @@ class SendUsageTask extends AsyncTask{
$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"] = [
"count" => count($players),

View File

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