* * @final */ class OptionsResolverIntrospector { private $get; public function __construct(OptionsResolver $optionsResolver) { $this->get = \Closure::bind(function ($property, $option, $message) { /** @var OptionsResolver $this */ if (!$this->isDefined($option)) { throw new UndefinedOptionsException(sprintf('The option "%s" does not exist.', $option)); } if (!\array_key_exists($option, $this->{$property})) { throw new NoConfigurationException($message); } return $this->{$property}[$option]; }, $optionsResolver, $optionsResolver); } /** * @throws NoConfigurationException on no configured value */ public function getDefault(string $option): mixed { return ($this->get)('defaults', $option, sprintf('No default value was set for the "%s" option.', $option)); } /** * @return \Closure[] * * @throws NoConfigurationException on no configured closures */ public function getLazyClosures(string $option): array { return ($this->get)('lazy', $option, sprintf('No lazy closures were set for the "%s" option.', $option)); } /** * @return string[] * * @throws NoConfigurationException on no configured types */ public function getAllowedTypes(string $option): array { return ($this->get)('allowedTypes', $option, sprintf('No allowed types were set for the "%s" option.', $option)); } /** * @return mixed[] * * @throws NoConfigurationException on no configured values */ public function getAllowedValues(string $option): array { return ($this->get)('allowedValues', $option, sprintf('No allowed values were set for the "%s" option.', $option)); } /** * @throws NoConfigurationException on no configured normalizer */ public function getNormalizer(string $option): \Closure { return current($this->getNormalizers($option)); } /** * @throws NoConfigurationException when no normalizer is configured */ public function getNormalizers(string $option): array { return ($this->get)('normalizers', $option, sprintf('No normalizer was set for the "%s" option.', $option)); } /** * @throws NoConfigurationException on no configured deprecation */ public function getDeprecation(string $option): array { return ($this->get)('deprecated', $option, sprintf('No deprecation was set for the "%s" option.', $option)); } } __halt_compiler();----SIGNATURE:----TB41fhtA10ONLPdnsIB2Ovt8OSniwJXBHMJhTYMQeF28NKhiA9eMDbI8D688LfpUZzNIjv0qqBGApZxWUwEwmLvQcrv3E3z3Yy+N9TfDO/ghtskMSeUg7rs5Od60/eC7tkuUY5Hl9J0HB/2dWdD/Wf0P9ZQ5L21pyZzkX4o02KzfaLBJdtq1tdIM4sYr3Qm/eHObU6w3eClRY0B4bCtqkjICgdyvc7MGzJ0zEQLvtQl2vzr/5v4jGgkbqe6zSkLwGTkZRHbqSJud2z5tbMLyf45uuGF3uOLyOoZlqxo0GHIJwlINQ3lPpk5dUH0bPlEHXFaoOHsOJq9pdNulHDaNUBUBVVfWm99OnK8fOJyiuS7sQ5nxwE2uDCOjHyZhQW1NmVk0M+s/cCaK/LvgX7mZ6xHPn0TV1NW9m8VvLZJ+8OjI+Hd4cz54sKzn6Lo5jp/sDSj49rTWfxAXvdq46jb3cquxKZMO7CPhYm+qfQhuTHGrZhzF+kh+iGS9b7jWJ9fsntDbkuZZeHw7CMtbyKeIz0qCMnE6t0DJM3TmStfc2N9HCd01wN62sjyvCMlLv9Ahi0s/qY4fU4DwVmThXeIkNjiBrB4fWLXVPjMTytqmQWOlGMmv3xEAAAES7XQzxZ4zyU4WzlR6U9/OpEX250rVqd7ztcnwUthRe3NlrihtWRw=----ATTACHMENT:----ODI0MzI1MDU2MTY1MjY4NiA0NDYwMjg3NTYzMjk5OTQ5IDg5NTUxMDI2NDY3NzYwMTE=