*/ private array $types; /** * @internal */ public function __construct( Reflector $reflector, ReflectionParameter|ReflectionMethod|ReflectionFunction|ReflectionEnum|ReflectionProperty $owner, IntersectionType $type, ) { /** @var non-empty-list $types */ $types = array_map(static function (Node\Identifier|Node\Name $type) use ($reflector, $owner): ReflectionNamedType { $type = ReflectionType::createFromNode($reflector, $owner, $type); assert($type instanceof ReflectionNamedType); return $type; }, $type->types); $this->types = $types; } /** * @internal */ public function withOwner(ReflectionParameter|ReflectionMethod|ReflectionFunction|ReflectionEnum|ReflectionProperty $owner): static { $clone = clone $this; foreach ($clone->types as $typeNo => $innerType) { $clone->types[$typeNo] = $innerType->withOwner($owner); } return $clone; } /** * @return non-empty-list */ public function getTypes(): array { return $this->types; } /** * @return false */ public function allowsNull(): bool { return false; } /** * @return non-empty-string */ public function __toString(): string { // @infection-ignore-all UnwrapArrayMap: It works without array_map() as well but this is less magical return implode('&', array_map(static fn (ReflectionNamedType $type): string => $type->__toString(), $this->types)); } } __halt_compiler();----SIGNATURE:----WhMVFdK8zDvYp/eHxqx4qURMWWiLVTjGF0fGsXXaf83TaFgAuyvoKiHeiyz/YlSpJrKWUS+LQfY0g5jnfWPRNK44aHWLQBvj7GbWvPW1V5ElwjwtNmM1rfIR7g8KTuj3ZO01+wuIg8WoiDGN26uzS9nre4gzrMT2ICowSGGa2xLi/eiMEdR60KODtInZfl2AqfLY/3TcNtrtmLZW8DdEBv7PqIyyfdC7hxA9CYVyEofrttEZ7LXTFjuQTBscEgdaOjN6U9eVhGO47WZaATjzmLLLFt2SoTcbQ3hJ/4qrE437bfCW8U9frFVEHVqK/RB4kPo/dD5niX8IjLHEVCrynQfoCb/HAS2bSt2pQqEyXRfn8nPbNjrwEaeUfkruPjTX8HDpbZHwkwrfteHSBnhsjtlb8JXcu7/unKL2GfK03f62kl4GluM4zZnytbU6smcBafE9X9A7mTJ+lkFklqEWAeaK5oI5T2p7m0bGilgvFMaCLK5StQQvrFxwzVqsW1EXq/6GljUh2j8sZSgp73EEBPsxynDNLkNiIH9cubOexzkjObYYaapL0sgMERSIOgE6f+kROKxufiF47jGNNqXNI/LvKWVrnYPHY8EuIQeQVRtKgOVnTSA/ozCAichJ7tRHvGxBKVg20yv6bGI9XRPPSwNkkweJM7xncBdoT4nJjD4=----ATTACHMENT:----NDczODUyOTc0MDEyODQ5NCAzNTkyODcxNjY1NDE0NTkzIDY1OTIxNDM0NTkyNTA0NjY=