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() * @method static Wool YELLOW_WOOL()
*/ */
final class VanillaBlocks{ final class VanillaBlocks{
use RegistryTrait { use RegistryTrait;
fromString as private Registry_fromString;
getAll as private Registry_getAll;
register as private Registry_register;
}
private function __construct(){ private function __construct(){
//NOOP //NOOP
} }
protected static function register(string $name, Block $block) : void{ 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 * @return Block
*/ */
public static function fromString(string $name) : Block{ public static function fromString(string $name) : Block{
$result = self::Registry_fromString($name); $result = self::_registryFromString($name);
assert($result instanceof Block); assert($result instanceof Block);
return clone $result; return clone $result;
} }
@ -693,7 +689,7 @@ final class VanillaBlocks{
* @return Block[] * @return Block[]
*/ */
public static function getAll() : array{ 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{ protected static function setup() : void{

View File

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

View File

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

View File

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