visibility = $visibility; } /** * @psalm-return non-empty-string */ public function generate(): string { return $this->visibility . ' ' . parent::generate(); } public static function fromReflection(ParameterReflection $reflectionParameter): self { if (! $reflectionParameter->isPromoted()) { throw new RuntimeException( sprintf('Can not create "%s" from unprompted reflection.', self::class) ); } $visibility = self::VISIBILITY_PUBLIC; if ($reflectionParameter->isProtectedPromoted()) { $visibility = self::VISIBILITY_PROTECTED; } elseif ($reflectionParameter->isPrivatePromoted()) { $visibility = self::VISIBILITY_PRIVATE; } return self::fromParameterGeneratorWithVisibility( parent::fromReflection($reflectionParameter), $visibility ); } /** * @psalm-param PromotedParameterGenerator::VISIBILITY_* $visibility */ public static function fromParameterGeneratorWithVisibility(ParameterGenerator $generator, string $visibility): self { $name = $generator->getName(); $type = $generator->getType(); if ('' === $name) { throw new Exception\RuntimeException( 'Name of promoted parameter must be non-empty-string.' ); } if ('' === $type) { throw new Exception\RuntimeException( 'Type of promoted parameter must be non-empty-string.' ); } return new self( $name, $type, $visibility, $generator->getPosition(), $generator->getPassedByReference() ); } } __halt_compiler();----SIGNATURE:----Mp15xzVnhKHxooxfU+3xL+PTUHZuQ56ScmYZRiXeQrh9LntITGMdvwE01JsE/J/IMArnjMFQ0SwtLfZTog3W/ptBMi5X6VMp5yoaLueV6Mk/pBMKtwDfNSWUEuAr4LrSCB4uhlPdfcC8XfY521vyaa8tHh02HbkDIKQzZZIG5+CKGq+C23z22Dri1mI4mMlLkQT8IuVfcF0gYzFH4z6LIgv5oiDdzCo60OnYqL5L3e/Qb8BhUJhFc15eepdXHRYDy8lvMGzkp0MgOZ57SQXy4GSrI2qjOEjdZjG0cFUtgLXREmCxVWwD0FfYXTY62IxyOGMcUuf4+3wOUTP7F0lT/5pdf/F2R/EasoBmG8N5AaxBlcVB0GiTG3KXIGG6r3i+RWaFJFcBXTqT6ksZVgustJXwLhgvPeHjHTCiYLzENOrRCJWq1QUrF5WFA7/ZfBlFDVoA8gffpIIPgP1FrOSnwo9QHxfTZYD1FaQXtpYxqhUGn66slYbOV3IQv6sNUT2SrOEKphFuBL0XnzLdVKlOwwvcW6QZx3NWCWLG+l5z+RZY1v+qJBW/0NGvtkJ3oEKbOTfqP7R6CtKAogbDBRUaW165WLgphW7fm9v5lPOhsqAp/UmcW0s+0c0HgrOwbxc89F6Gll35R5Ox12E7rzjdWX+aE0/H/t5HYHCGsnSYKxQ=----ATTACHMENT:----ODM4MTgxNTUxMDYxNTA1OCAyNDI3MzU2MzgyNDU0OTI0IDkxNTE4NTg2OTEzMjE1OTg=