From 3b6ff3c42b46a001020f0f61a09ac18e45475730 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 23 Nov 2022 14:03:35 +0000 Subject: [PATCH] Apply union types in some places (BC breaks) --- src/block/utils/SignText.php | 5 +---- src/event/HandlerList.php | 7 ++----- src/event/HandlerListManager.php | 4 +--- src/permission/Permissible.php | 14 ++++--------- src/permission/PermissibleDelegateTrait.php | 22 +++++---------------- src/permission/PermissibleInternal.php | 14 ++++--------- src/permission/PermissionAttachment.php | 10 ++-------- src/permission/PermissionManager.php | 5 +---- src/permission/PermissionParser.php | 4 +--- src/plugin/PluginDescription.php | 2 +- src/thread/ThreadManager.php | 18 ++++------------- src/utils/Internet.php | 6 +++--- src/utils/Process.php | 2 +- 13 files changed, 30 insertions(+), 83 deletions(-) diff --git a/src/block/utils/SignText.php b/src/block/utils/SignText.php index 27e8b5c5e..1ea7de3d6 100644 --- a/src/block/utils/SignText.php +++ b/src/block/utils/SignText.php @@ -87,10 +87,7 @@ class SignText{ return $this->lines; } - /** - * @param int|string $index - */ - private function checkLineIndex($index) : void{ + private function checkLineIndex(int|string $index) : void{ if(!is_int($index)){ throw new \InvalidArgumentException("Index must be an integer"); } diff --git a/src/event/HandlerList.php b/src/event/HandlerList.php index 7d93c2ebe..57388cef5 100644 --- a/src/event/HandlerList.php +++ b/src/event/HandlerList.php @@ -57,10 +57,7 @@ class HandlerList{ } } - /** - * @param RegisteredListener|Listener|Plugin $object - */ - public function unregister($object) : void{ + public function unregister(RegisteredListener|Plugin|Listener $object) : void{ if($object instanceof Plugin || $object instanceof Listener){ foreach($this->handlerSlots as $priority => $list){ foreach($list as $hash => $listener){ @@ -71,7 +68,7 @@ class HandlerList{ } } } - }elseif($object instanceof RegisteredListener){ + }else{ if(isset($this->handlerSlots[$object->getPriority()][spl_object_id($object)])){ unset($this->handlerSlots[$object->getPriority()][spl_object_id($object)]); } diff --git a/src/event/HandlerListManager.php b/src/event/HandlerListManager.php index ecff0b85b..ab94674cf 100644 --- a/src/event/HandlerListManager.php +++ b/src/event/HandlerListManager.php @@ -40,10 +40,8 @@ class HandlerListManager{ /** * Unregisters all the listeners * If a Plugin or Listener is passed, all the listeners with that object will be removed - * - * @param Plugin|Listener|RegisteredListener|null $object */ - public function unregisterAll($object = null) : void{ + public function unregisterAll(RegisteredListener|Plugin|Listener|null $object = null) : void{ if($object instanceof Listener || $object instanceof Plugin || $object instanceof RegisteredListener){ foreach($this->allLists as $h){ $h->unregister($object); diff --git a/src/permission/Permissible.php b/src/permission/Permissible.php index 2047dcec7..b3527e1c4 100644 --- a/src/permission/Permissible.php +++ b/src/permission/Permissible.php @@ -35,32 +35,26 @@ interface Permissible{ * * @internal * @see Permissible::addAttachment() for normal permission assignments - * @param Permission|string $name */ - public function setBasePermission($name, bool $grant) : void; + public function setBasePermission(Permission|string $name, bool $grant) : void; /** * Unsets a baseline permission previously set. If it wasn't already set, this will have no effect. * Note that this might have different results than setting the permission to false. * * @internal - * @param Permission|string $name */ - public function unsetBasePermission($name) : void; + public function unsetBasePermission(Permission|string $name) : void; /** * Checks if this instance has a permission overridden - * - * @param string|Permission $name */ - public function isPermissionSet($name) : bool; + public function isPermissionSet(Permission|string $name) : bool; /** * Returns the permission value if overridden, or the default value if not - * - * @param string|Permission $name */ - public function hasPermission($name) : bool; + public function hasPermission(Permission|string $name) : bool; public function addAttachment(Plugin $plugin, ?string $name = null, ?bool $value = null) : PermissionAttachment; diff --git a/src/permission/PermissibleDelegateTrait.php b/src/permission/PermissibleDelegateTrait.php index fa051ecd8..22f650848 100644 --- a/src/permission/PermissibleDelegateTrait.php +++ b/src/permission/PermissibleDelegateTrait.php @@ -31,31 +31,19 @@ trait PermissibleDelegateTrait{ /** @var Permissible */ private $perm; - /** - * @param Permission|string $name - */ - public function setBasePermission($name, bool $value) : void{ - $this->perm->setBasePermission($name, $value); + public function setBasePermission(Permission|string $name, bool $grant) : void{ + $this->perm->setBasePermission($name, $grant); } - /** - * @param Permission|string $name - */ - public function unsetBasePermission($name) : void{ + public function unsetBasePermission(Permission|string $name) : void{ $this->perm->unsetBasePermission($name); } - /** - * @param Permission|string $name - */ - public function isPermissionSet($name) : bool{ + public function isPermissionSet(Permission|string $name) : bool{ return $this->perm->isPermissionSet($name); } - /** - * @param Permission|string $name - */ - public function hasPermission($name) : bool{ + public function hasPermission(Permission|string $name) : bool{ return $this->perm->hasPermission($name); } diff --git a/src/permission/PermissibleInternal.php b/src/permission/PermissibleInternal.php index 2401869a9..49c34b49a 100644 --- a/src/permission/PermissibleInternal.php +++ b/src/permission/PermissibleInternal.php @@ -69,7 +69,7 @@ class PermissibleInternal implements Permissible{ $this->recalculatePermissions(); } - public function setBasePermission($name, bool $grant) : void{ + public function setBasePermission(Permission|string $name, bool $grant) : void{ if($name instanceof Permission){ $name = $name->getName(); } @@ -77,22 +77,16 @@ class PermissibleInternal implements Permissible{ $this->recalculatePermissions(); } - public function unsetBasePermission($name) : void{ + public function unsetBasePermission(Permission|string $name) : void{ unset($this->rootPermissions[$name instanceof Permission ? $name->getName() : $name]); $this->recalculatePermissions(); } - /** - * @param Permission|string $name - */ - public function isPermissionSet($name) : bool{ + public function isPermissionSet(Permission|string $name) : bool{ return isset($this->permissions[$name instanceof Permission ? $name->getName() : $name]); } - /** - * @param Permission|string $name - */ - public function hasPermission($name) : bool{ + public function hasPermission(Permission|string $name) : bool{ if($name instanceof Permission){ $name = $name->getName(); } diff --git a/src/permission/PermissionAttachment.php b/src/permission/PermissionAttachment.php index 68f544069..b01fba307 100644 --- a/src/permission/PermissionAttachment.php +++ b/src/permission/PermissionAttachment.php @@ -96,10 +96,7 @@ class PermissionAttachment{ $this->recalculatePermissibles(); } - /** - * @param string|Permission $name - */ - public function setPermission($name, bool $value) : void{ + public function setPermission(Permission|string $name, bool $value) : void{ $name = $name instanceof Permission ? $name->getName() : $name; if(isset($this->permissions[$name])){ if($this->permissions[$name] === $value){ @@ -120,10 +117,7 @@ class PermissionAttachment{ $this->recalculatePermissibles(); } - /** - * @param string|Permission $name - */ - public function unsetPermission($name) : void{ + public function unsetPermission(Permission|string $name) : void{ $name = $name instanceof Permission ? $name->getName() : $name; if(isset($this->permissions[$name])){ unset($this->permissions[$name]); diff --git a/src/permission/PermissionManager.php b/src/permission/PermissionManager.php index cbb917781..b7e622934 100644 --- a/src/permission/PermissionManager.php +++ b/src/permission/PermissionManager.php @@ -56,10 +56,7 @@ class PermissionManager{ return false; } - /** - * @param string|Permission $permission - */ - public function removePermission($permission) : void{ + public function removePermission(Permission|string $permission) : void{ if($permission instanceof Permission){ unset($this->permissions[$permission->getName()]); }else{ diff --git a/src/permission/PermissionParser.php b/src/permission/PermissionParser.php index d498b9315..0c08702c8 100644 --- a/src/permission/PermissionParser.php +++ b/src/permission/PermissionParser.php @@ -54,11 +54,9 @@ class PermissionParser{ ]; /** - * @param bool|string $value - * * @throws PermissionParserException */ - public static function defaultFromString($value) : string{ + public static function defaultFromString(bool|string $value) : string{ if(is_bool($value)){ if($value){ return "true"; diff --git a/src/plugin/PluginDescription.php b/src/plugin/PluginDescription.php index 7574d7297..522da2a78 100644 --- a/src/plugin/PluginDescription.php +++ b/src/plugin/PluginDescription.php @@ -85,7 +85,7 @@ class PluginDescription{ /** * @param string|mixed[] $yamlString */ - public function __construct($yamlString){ + public function __construct(array|string $yamlString){ if(is_string($yamlString)){ $map = yaml_parse($yamlString); if($map === false){ diff --git a/src/thread/ThreadManager.php b/src/thread/ThreadManager.php index b22a424e7..f383b2c49 100644 --- a/src/thread/ThreadManager.php +++ b/src/thread/ThreadManager.php @@ -40,22 +40,12 @@ class ThreadManager extends \Volatile{ return self::$instance; } - /** - * @param Worker|Thread $thread - */ - public function add($thread) : void{ - if($thread instanceof Thread || $thread instanceof Worker){ - $this[spl_object_id($thread)] = $thread; - } + public function add(Worker|Thread $thread) : void{ + $this[spl_object_id($thread)] = $thread; } - /** - * @param Worker|Thread $thread - */ - public function remove($thread) : void{ - if($thread instanceof Thread || $thread instanceof Worker){ - unset($this[spl_object_id($thread)]); - } + public function remove(Worker|Thread $thread) : void{ + unset($this[spl_object_id($thread)]); } /** diff --git a/src/utils/Internet.php b/src/utils/Internet.php index 7161cf453..8744ebd96 100644 --- a/src/utils/Internet.php +++ b/src/utils/Internet.php @@ -169,7 +169,7 @@ class Internet{ * @phpstan-param TErrorVar $err * @phpstan-param-out TErrorVar|string $err */ - public static function postURL(string $page, $args, int $timeout = 10, array $extraHeaders = [], &$err = null) : ?InternetRequestResult{ + public static function postURL(string $page, array|string $args, int $timeout = 10, array $extraHeaders = [], &$err = null) : ?InternetRequestResult{ try{ return self::simpleCurl($page, $timeout, $extraHeaders, [ CURLOPT_POST => 1, @@ -185,7 +185,7 @@ class Internet{ * General cURL shorthand function. * NOTE: This is a blocking operation and can take a significant amount of time. It is inadvisable to use this method on the main thread. * - * @param float|int $timeout The maximum connect timeout and timeout in seconds, correct to ms. + * @param float $timeout The maximum connect timeout and timeout in seconds, correct to ms. * @param string[] $extraHeaders extra headers to send as a plain string array * @param array $extraOpts extra CURLOPT_* to set as an [opt => value] map * @param \Closure|null $onSuccess function to be called if there is no error. Accepts a resource argument as the cURL handle. @@ -195,7 +195,7 @@ class Internet{ * * @throws InternetException if a cURL error occurs */ - public static function simpleCurl(string $page, $timeout = 10, array $extraHeaders = [], array $extraOpts = [], ?\Closure $onSuccess = null) : InternetRequestResult{ + public static function simpleCurl(string $page, float $timeout = 10, array $extraHeaders = [], array $extraOpts = [], ?\Closure $onSuccess = null) : InternetRequestResult{ if(!self::$online){ throw new InternetException("Cannot execute web request while offline"); } diff --git a/src/utils/Process.php b/src/utils/Process.php index bdc264133..d0d38ec00 100644 --- a/src/utils/Process.php +++ b/src/utils/Process.php @@ -157,7 +157,7 @@ final class Process{ * * @return int process exit code */ - public static function execute(string $command, string &$stdout = null, string &$stderr = null) : int{ + public static function execute(string $command, ?string &$stdout = null, ?string &$stderr = null) : int{ $process = proc_open($command, [ ["pipe", "r"], ["pipe", "w"],