PATH:
home
/
lab2454c
/
crypto.keyreum.com
/
vendor
/
phpdocumentor
/
type-resolver
/
src
/
Types
<?php declare(strict_types=1); /** * This file is part of phpDocumentor. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @link http://phpdoc.org */ namespace phpDocumentor\Reflection\Types; use phpDocumentor\Reflection\Type; /** * Represents a list of values. This is an abstract class for Array_ and Collection. * * @psalm-immutable */ abstract class AbstractList implements Type { /** @var Type */ protected $valueType; /** @var Type|null */ protected $keyType; /** @var Type */ protected $defaultKeyType; /** * Initializes this representation of an array with the given Type. */ public function __construct(?Type $valueType = null, ?Type $keyType = null) { if ($valueType === null) { $valueType = new Mixed_(); } $this->valueType = $valueType; $this->defaultKeyType = new Compound([new String_(), new Integer()]); $this->keyType = $keyType; } /** * Returns the type for the keys of this array. */ public function getKeyType(): Type { return $this->keyType ?? $this->defaultKeyType; } /** * Returns the value for the keys of this array. */ public function getValueType(): Type { return $this->valueType; } /** * Returns a rendered output of the Type as it would be used in a DocBlock. */ public function __toString(): string { if ($this->keyType) { return 'array<' . $this->keyType . ',' . $this->valueType . '>'; } if ($this->valueType instanceof Mixed_) { return 'array'; } if ($this->valueType instanceof Compound) { return '(' . $this->valueType . ')[]'; } return $this->valueType . '[]'; } }
[-] Scalar.php
[edit]
[-] This.php
[edit]
[-] Nullable.php
[edit]
[-] ClassString.php
[edit]
[-] AbstractList.php
[edit]
[-] Void_.php
[edit]
[-] AggregatedType.php
[edit]
[-] ContextFactory.php
[edit]
[-] Context.php
[edit]
[+]
..
[-] Boolean.php
[edit]
[-] InterfaceString.php
[edit]
[-] Callable_.php
[edit]
[-] Self_.php
[edit]
[-] Expression.php
[edit]
[-] Integer.php
[edit]
[-] Never_.php
[edit]
[-] Resource_.php
[edit]
[-] Parent_.php
[edit]
[-] Static_.php
[edit]
[-] Array_.php
[edit]
[-] String_.php
[edit]
[-] Float_.php
[edit]
[-] Intersection.php
[edit]
[-] Mixed_.php
[edit]
[-] ArrayKey.php
[edit]
[-] Object_.php
[edit]
[-] Null_.php
[edit]
[-] Compound.php
[edit]
[-] Iterable_.php
[edit]
[-] Collection.php
[edit]