RegistryTrait: Alias internal methods by default

it's always necessary to wrap these methods with the appropriate typehints.
This commit is contained in:
Dylan K. Taylor 2019-07-17 19:59:28 +01:00
parent 1a1feefd3e
commit 728aa8aae7
4 changed files with 15 additions and 27 deletions

View File

@ -664,18 +664,14 @@ use function assert;
* @method static Wool YELLOW_WOOL()
*/
final class VanillaBlocks{
use RegistryTrait {
fromString as private Registry_fromString;
getAll as private Registry_getAll;
register as private Registry_register;
}
use RegistryTrait;
private function __construct(){
//NOOP
}
protected static function register(string $name, Block $block) : void{
self::Registry_register($name, $block);
self::_registryRegister($name, $block);
}
/**
@ -684,7 +680,7 @@ final class VanillaBlocks{
* @return Block
*/
public static function fromString(string $name) : Block{
$result = self::Registry_fromString($name);
$result = self::_registryFromString($name);
assert($result instanceof Block);
return clone $result;
}
@ -693,7 +689,7 @@ final class VanillaBlocks{
* @return Block[]
*/
public static function getAll() : array{
return array_map(function(Block $member){ return clone $member; }, self::Registry_getAll());
return array_map(function(Block $member){ return clone $member; }, self::_registryGetAll());
}
protected static function setup() : void{

View File

@ -292,18 +292,14 @@ use function assert;
* @method static Skull ZOMBIE_HEAD()
*/
final class VanillaItems{
use RegistryTrait {
fromString as private Registry_fromString;
getAll as private Registry_getAll;
register as private Registry_register;
}
use RegistryTrait;
private function __construct(){
//NOOP
}
protected static function register(string $name, Item $item) : void{
self::Registry_register($name, $item);
self::_registryRegister($name, $item);
}
/**
@ -312,7 +308,7 @@ final class VanillaItems{
* @return Item
*/
public static function fromString(string $name) : Item{
$result = self::Registry_fromString($name);
$result = self::_registryFromString($name);
assert($result instanceof Item);
return clone $result;
}
@ -321,7 +317,7 @@ final class VanillaItems{
* @return Item[]
*/
public static function getAll() : array{
return array_map(function(Item $member){ return clone $member; }, self::Registry_getAll());
return array_map(function(Item $member){ return clone $member; }, self::_registryGetAll());
}
protected static function setup() : void{

View File

@ -26,11 +26,7 @@ namespace pocketmine\utils;
use function preg_match;
trait EnumTrait{
use RegistryTrait {
fromString as private Registry_fromString;
getAll as private Registry_getAll;
register as private Registry_register;
}
use RegistryTrait;
/**
* Registers the given object as an enum member.
@ -40,7 +36,7 @@ trait EnumTrait{
* @throws \InvalidArgumentException
*/
protected static function register(self $member) : void{
self::Registry_register($member->name(), $member);
self::_registryRegister($member->name(), $member);
}
/**
@ -73,7 +69,7 @@ trait EnumTrait{
* @return self[]
*/
public static function getAll() : array{
return self::Registry_getAll();
return self::_registryGetAll();
}
/**
@ -86,7 +82,7 @@ trait EnumTrait{
* @throws \InvalidArgumentException if no member matches.
*/
public static function fromString(string $name) : self{
return self::Registry_fromString($name);
return self::_registryFromString($name);
}
/** @var string */

View File

@ -44,7 +44,7 @@ trait RegistryTrait{
*
* @throws \InvalidArgumentException
*/
protected static function register(string $name, object $member) : void{
private static function _registryRegister(string $name, object $member) : void{
$name = strtoupper($name);
if(isset(self::$members[$name])){
throw new \InvalidArgumentException("\"$name\" is already reserved");
@ -77,7 +77,7 @@ trait RegistryTrait{
* @return object
* @throws \InvalidArgumentException
*/
public static function fromString(string $name) : object{
private static function _registryFromString(string $name) : object{
self::checkInit();
$name = strtoupper($name);
if(!isset(self::$members[$name])){
@ -106,7 +106,7 @@ trait RegistryTrait{
/**
* @return object[]
*/
public static function getAll() : array{
private static function _registryGetAll() : array{
self::checkInit();
return self::$members;
}