| Server IP : 103.243.232.44 / Your IP : 216.73.216.69 Web Server : LiteSpeed System : Linux server17213-10344.hostycare.online 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64 User : iamakash ( 1400) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/cpanel/ea-wappspector/vendor/sebastian/type/src/type/ |
Upload File : |
<?php declare(strict_types=1);
/*
* This file is part of sebastian/type.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SebastianBergmann\Type;
use function is_subclass_of;
use function strcasecmp;
final class StaticType extends Type
{
private TypeName $className;
private bool $allowsNull;
public function __construct(TypeName $className, bool $allowsNull)
{
$this->className = $className;
$this->allowsNull = $allowsNull;
}
public function isAssignable(Type $other): bool
{
if ($this->allowsNull && $other instanceof NullType) {
return true;
}
if (!$other instanceof ObjectType) {
return false;
}
if (0 === strcasecmp($this->className->qualifiedName(), $other->className()->qualifiedName())) {
return true;
}
if (is_subclass_of($other->className()->qualifiedName(), $this->className->qualifiedName(), true)) {
return true;
}
return false;
}
public function name(): string
{
return 'static';
}
public function allowsNull(): bool
{
return $this->allowsNull;
}
/**
* @psalm-assert-if-true StaticType $this
*/
public function isStatic(): bool
{
return true;
}
}