Backups Created:
/home/japatmex/public_html/wp-content/edit-wolf.php
Savvy
W
olf -
MANAGER
Edit File: NonEmptyArrayType.php
<?php declare(strict_types = 1); namespace PHPStan\Type\Accessory; use PHPStan\TrinaryLogic; use PHPStan\Type\ArrayType; use PHPStan\Type\CompoundType; use PHPStan\Type\CompoundTypeHelper; use PHPStan\Type\ErrorType; use PHPStan\Type\IntersectionType; use PHPStan\Type\MixedType; use PHPStan\Type\Traits\MaybeCallableTypeTrait; use PHPStan\Type\Traits\NonGenericTypeTrait; use PHPStan\Type\Traits\NonObjectTypeTrait; use PHPStan\Type\Traits\TruthyBooleanTypeTrait; use PHPStan\Type\Type; use PHPStan\Type\UnionType; class NonEmptyArrayType implements CompoundType, AccessoryType { use MaybeCallableTypeTrait; use NonObjectTypeTrait; use TruthyBooleanTypeTrait; use NonGenericTypeTrait; public function getReferencedClasses(): array { return []; } public function accepts(Type $type, bool $strictTypes): TrinaryLogic { if ($type instanceof CompoundType) { return CompoundTypeHelper::accepts($type, $this, $strictTypes); } return (new ArrayType(new MixedType(), new MixedType())) ->isSuperTypeOf($type) ->and($type->isIterableAtLeastOnce()); } public function isSuperTypeOf(Type $type): TrinaryLogic { if ($this->equals($type)) { return TrinaryLogic::createYes(); } return (new ArrayType(new MixedType(), new MixedType())) ->isSuperTypeOf($type) ->and($type->isIterableAtLeastOnce()); } public function isSubTypeOf(Type $otherType): TrinaryLogic { if ($otherType instanceof UnionType || $otherType instanceof IntersectionType) { return $otherType->isSuperTypeOf($this); } return (new ArrayType(new MixedType(), new MixedType())) ->isSuperTypeOf($otherType) ->and($otherType->isIterableAtLeastOnce()) ->and($otherType instanceof self ? TrinaryLogic::createYes() : TrinaryLogic::createMaybe()); } public function isAcceptedBy(Type $acceptingType, bool $strictTypes): TrinaryLogic { return $this->isSubTypeOf($acceptingType); } public function equals(Type $type): bool { return $type instanceof self; } public function describe(\PHPStan\Type\VerbosityLevel $level): string { return 'nonEmpty'; } public function isOffsetAccessible(): TrinaryLogic { return TrinaryLogic::createYes(); } public function hasOffsetValueType(Type $offsetType): TrinaryLogic { return TrinaryLogic::createMaybe(); } public function getOffsetValueType(Type $offsetType): Type { return new MixedType(); } public function setOffsetValueType(?Type $offsetType, Type $valueType): Type { return $this; } public function isIterable(): TrinaryLogic { return TrinaryLogic::createYes(); } public function isIterableAtLeastOnce(): TrinaryLogic { return TrinaryLogic::createYes(); } public function getIterableKeyType(): Type { return new MixedType(); } public function getIterableValueType(): Type { return new MixedType(); } public function isArray(): TrinaryLogic { return TrinaryLogic::createYes(); } public function toNumber(): Type { return new ErrorType(); } public function toInteger(): Type { return new ErrorType(); } public function toFloat(): Type { return new ErrorType(); } public function toString(): Type { return new ErrorType(); } public function toArray(): Type { return new MixedType(); } public function traverse(callable $cb): Type { return $this; } public static function __set_state(array $properties): Type { return new self(); } }