added some phpstan-specific generic type annotations

This commit is contained in:
Dylan K. Taylor
2020-01-13 15:05:02 +00:00
parent acaa34785f
commit 0e1cea043a
11 changed files with 61 additions and 16 deletions

View File

@@ -40,7 +40,10 @@ class Banner extends Item{
/** @var DyeColor */
private $color;
/** @var BannerPattern[]|Deque */
/**
* @var BannerPattern[]|Deque
* @phpstan-var Deque<BannerPattern>
*/
private $patterns;
public function __construct(int $id, int $variant, string $name, DyeColor $color){
@@ -67,6 +70,7 @@ class Banner extends Item{
/**
* @return Deque|BannerPattern[]
* @phpstan-return Deque<BannerPattern>
*/
public function getPatterns() : Deque{
return $this->patterns;
@@ -74,6 +78,7 @@ class Banner extends Item{
/**
* @param Deque|BannerPattern[] $patterns
* @phpstan-param Deque<BannerPattern> $patterns
*
* @return $this
*/

View File

@@ -86,9 +86,15 @@ class Item implements \JsonSerializable{
*/
protected $blockEntityTag = null;
/** @var Set|string[] */
/**
* @var Set|string[]
* @phpstan-var Set<string>
*/
protected $canPlaceOn;
/** @var Set|string[] */
/**
* @var Set|string[]
* @phpstan-var Set<string>
*/
protected $canDestroy;
/**
@@ -202,6 +208,7 @@ class Item implements \JsonSerializable{
/**
* @return Set|string[]
* @phpstan-return Set<string>
*/
public function getCanPlaceOn() : Set{
return $this->canPlaceOn;
@@ -209,6 +216,7 @@ class Item implements \JsonSerializable{
/**
* @param Set|string[] $canPlaceOn
* @phpstan-param Set<string> $canPlaceOn
*/
public function setCanPlaceOn(Set $canPlaceOn) : void{
$this->canPlaceOn = $canPlaceOn;
@@ -216,6 +224,7 @@ class Item implements \JsonSerializable{
/**
* @return Set|string[]
* @phpstan-return Set<string>
*/
public function getCanDestroy() : Set{
return $this->canDestroy;
@@ -223,6 +232,7 @@ class Item implements \JsonSerializable{
/**
* @param Set|string[] $canDestroy
* @phpstan-param Set<string> $canDestroy
*/
public function setCanDestroy(Set $canDestroy) : void{
$this->canDestroy = $canDestroy;

View File

@@ -34,7 +34,10 @@ abstract class WritableBookBase extends Item{
public const TAG_PAGE_TEXT = "text"; //TAG_String
public const TAG_PAGE_PHOTONAME = "photoname"; //TAG_String - TODO
/** @var WritableBookPage[]|Deque */
/**
* @var WritableBookPage[]|Deque
* @phpstan-var Deque<WritableBookPage>
*/
private $pages;
public function __construct(int $id, int $variant, string $name){