Backups Created:
/home/japatmex/public_html/wp-content/edit-wolf.php
Savvy
W
olf -
MANAGER
Edit File: NeverType.php
<?php declare(strict_types = 1); namespace PHPStan\Type; use PHPStan\Reflection\ClassMemberAccessAnswerer; use PHPStan\Reflection\ConstantReflection; use PHPStan\Reflection\MethodReflection; use PHPStan\Reflection\PropertyReflection; use PHPStan\Reflection\TrivialParametersAcceptor; use PHPStan\TrinaryLogic; use PHPStan\Type\Traits\FalseyBooleanTypeTrait; use PHPStan\Type\Traits\NonGenericTypeTrait; class NeverType implements CompoundType { use FalseyBooleanTypeTrait; use NonGenericTypeTrait; /** @var bool */ private $isExplicit; public function __construct(bool $isExplicit = false) { $this->isExplicit = $isExplicit; } public function isExplicit(): bool { return $this->isExplicit; } /** * @return string[] */ public function getReferencedClasses(): array { return []; } public function accepts(Type $type, bool $strictTypes): TrinaryLogic { return TrinaryLogic::createYes(); } public function isSuperTypeOf(Type $type): TrinaryLogic { if ($type instanceof self) { return TrinaryLogic::createYes(); } return TrinaryLogic::createNo(); } public function equals(Type $type): bool { return $type instanceof self; } public function isSubTypeOf(Type $otherType): TrinaryLogic { return TrinaryLogic::createYes(); } public function isAcceptedBy(Type $acceptingType, bool $strictTypes): TrinaryLogic { return $this->isSubTypeOf($acceptingType); } public function describe(VerbosityLevel $level): string { return '*NEVER*'; } public function canAccessProperties(): TrinaryLogic { return TrinaryLogic::createYes(); } public function hasProperty(string $propertyName): TrinaryLogic { return TrinaryLogic::createNo(); } public function getProperty(string $propertyName, ClassMemberAccessAnswerer $scope): PropertyReflection { throw new \PHPStan\ShouldNotHappenException(); } public function canCallMethods(): TrinaryLogic { return TrinaryLogic::createYes(); } public function hasMethod(string $methodName): TrinaryLogic { return TrinaryLogic::createNo(); } public function getMethod(string $methodName, ClassMemberAccessAnswerer $scope): MethodReflection { throw new \PHPStan\ShouldNotHappenException(); } public function canAccessConstants(): TrinaryLogic { return TrinaryLogic::createYes(); } public function hasConstant(string $constantName): TrinaryLogic { return TrinaryLogic::createNo(); } public function getConstant(string $constantName): ConstantReflection { throw new \PHPStan\ShouldNotHappenException(); } public function isIterable(): TrinaryLogic { return TrinaryLogic::createYes(); } public function isIterableAtLeastOnce(): TrinaryLogic { return TrinaryLogic::createMaybe(); } public function getIterableKeyType(): Type { return new NeverType(); } public function getIterableValueType(): Type { return new NeverType(); } public function isOffsetAccessible(): TrinaryLogic { return TrinaryLogic::createYes(); } public function hasOffsetValueType(Type $offsetType): TrinaryLogic { return TrinaryLogic::createYes(); } public function getOffsetValueType(Type $offsetType): Type { return new NeverType(); } public function setOffsetValueType(?Type $offsetType, Type $valueType): Type { return new NeverType(); } public function isCallable(): TrinaryLogic { return TrinaryLogic::createYes(); } /** * @param \PHPStan\Reflection\ClassMemberAccessAnswerer $scope * @return \PHPStan\Reflection\ParametersAcceptor[] */ public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): array { return [new TrivialParametersAcceptor()]; } public function isCloneable(): TrinaryLogic { return TrinaryLogic::createYes(); } public function toNumber(): Type { return $this; } public function toString(): Type { return $this; } public function toInteger(): Type { return $this; } public function toFloat(): Type { return $this; } public function toArray(): Type { return $this; } public function traverse(callable $cb): Type { return $this; } public function isArray(): TrinaryLogic { return TrinaryLogic::createNo(); } /** * @param mixed[] $properties * @return Type */ public static function __set_state(array $properties): Type { return new self($properties['isExplicit']); } }