diff --git a/src/PseudoTypes/ArrayShape.php b/src/PseudoTypes/ArrayShape.php index 45b7767..bceac60 100644 --- a/src/PseudoTypes/ArrayShape.php +++ b/src/PseudoTypes/ArrayShape.php @@ -21,13 +21,15 @@ use function implode; /** @psalm-immutable */ -class ArrayShape implements PseudoType +class ArrayShape extends Array_ implements PseudoType { /** @var ArrayShapeItem[] */ private $items; public function __construct(ArrayShapeItem ...$items) { + parent::__construct(new Mixed_(), new ArrayKey()); + $this->items = $items; } diff --git a/src/PseudoTypes/ConstExpression.php b/src/PseudoTypes/ConstExpression.php index 7334933..a03612a 100644 --- a/src/PseudoTypes/ConstExpression.php +++ b/src/PseudoTypes/ConstExpression.php @@ -20,7 +20,7 @@ use function sprintf; /** @psalm-immutable */ -final class ConstExpression implements PseudoType +final class ConstExpression extends Mixed_ implements PseudoType { /** @var Type */ private $owner; diff --git a/src/PseudoTypes/FloatValue.php b/src/PseudoTypes/FloatValue.php index 0dbbce0..0c3cc96 100644 --- a/src/PseudoTypes/FloatValue.php +++ b/src/PseudoTypes/FloatValue.php @@ -18,7 +18,7 @@ use phpDocumentor\Reflection\Types\Float_; /** @psalm-immutable */ -class FloatValue implements PseudoType +class FloatValue extends Float_ implements PseudoType { /** @var float */ private $value; diff --git a/src/PseudoTypes/IntegerValue.php b/src/PseudoTypes/IntegerValue.php index 51f0d34..4cc68de 100644 --- a/src/PseudoTypes/IntegerValue.php +++ b/src/PseudoTypes/IntegerValue.php @@ -18,7 +18,7 @@ use phpDocumentor\Reflection\Types\Integer; /** @psalm-immutable */ -final class IntegerValue implements PseudoType +final class IntegerValue extends Integer implements PseudoType { /** @var int */ private $value; diff --git a/src/PseudoTypes/ObjectShape.php b/src/PseudoTypes/ObjectShape.php index 0acd931..a02beb2 100644 --- a/src/PseudoTypes/ObjectShape.php +++ b/src/PseudoTypes/ObjectShape.php @@ -11,7 +11,7 @@ use function implode; /** @psalm-immutable */ -final class ObjectShape implements PseudoType +final class ObjectShape extends Object_ implements PseudoType { /** @var ObjectShapeItem[] */ private $items; diff --git a/src/PseudoTypes/StringValue.php b/src/PseudoTypes/StringValue.php index 98e1046..cb61562 100644 --- a/src/PseudoTypes/StringValue.php +++ b/src/PseudoTypes/StringValue.php @@ -20,7 +20,7 @@ use function sprintf; /** @psalm-immutable */ -class StringValue implements PseudoType +class StringValue extends String_ implements PseudoType { /** @var string */ private $value;