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:----UyHTY0Qdf4XTRnivauGf1sxFZTLt7+o5kPzdcwbBehky87F32P3sgAz2FzFS4w8j8m3MG5/gNvJ9SBcUqNK0sTHlRXh+xmT1yaQYR80qejcqP021F9pntw8chNj00tj8DJyfOf9cAWXBNblVoy3+2fmbbg4dZcyilVLfmdogUJmNgIIAF1umoQgMn+C83vd4uAqeI9c3fx0esNc4iVulPQxdA63zl7Nj2qKXkDHdH//DruKbb+MIJ9kDpgmlyWGkzsXYVGhDz4H5ETLEPIWWvapvefjcJC07+KiXBusyafvDNs3ObJPbrUWo5WiAFH8sk448yn2HeZlOYweEO1mODKM6ZCFWJPCLhXgVdaPGjs6GsBfMkouwKaKU4LikqlaffWeKenk6EXDUVBB/+aHLnlAyEOaFjlWdgxXhdvzFegoLg+JV49HlMrVTsFwPAakmD72L+IPTNOtYBEnpTSudqfxcyBzpQMO2t/EFEJJAj/osDh4jHQ6rK03Uvu4stVWgqo4QenFbe5zFhFD/lDnGjKHaYfA0es5C34BUWGw6OugjGUto1G2mcBdIrs9hppTnsI54/I1ZhNhX30putR7Jk+g0RTfOHbBY8NGHdNWp/tRp7qzlBgxt7BqVHob3bwVrHDP5AG8qIr0q4/aML9vn8JTfDhSKY49gx5OzZFUFElA=----ATTACHMENT:----MzU4NTMxMjQ3MDY5MDE4MiA0MjM4MDQyMTcyMzgxMDUzIDM1NjA3OTM5Mjg1NDk1NDc=