*/ private static $map = [ 'ALL' => self::TARGET_ALL, 'CLASS' => self::TARGET_CLASS, 'METHOD' => self::TARGET_METHOD, 'PROPERTY' => self::TARGET_PROPERTY, 'FUNCTION' => self::TARGET_FUNCTION, 'ANNOTATION' => self::TARGET_ANNOTATION, ]; /** @phpstan-var list */ public $value; /** * Targets as bitmask. * * @var int */ public $targets; /** * Literal target declaration. * * @var string */ public $literal; /** * @phpstan-param array{value?: string|list} $values * * @throws InvalidArgumentException */ public function __construct(array $values) { if (! isset($values['value'])) { $values['value'] = null; } if (is_string($values['value'])) { $values['value'] = [$values['value']]; } if (! is_array($values['value'])) { throw new InvalidArgumentException( sprintf( '@Target expects either a string value, or an array of strings, "%s" given.', is_object($values['value']) ? get_class($values['value']) : gettype($values['value']) ) ); } $bitmask = 0; foreach ($values['value'] as $literal) { if (! isset(self::$map[$literal])) { throw new InvalidArgumentException( sprintf( 'Invalid Target "%s". Available targets: [%s]', $literal, implode(', ', array_keys(self::$map)) ) ); } $bitmask |= self::$map[$literal]; } $this->targets = $bitmask; $this->value = $values['value']; $this->literal = implode(', ', $this->value); } }__halt_compiler();----SIGNATURE:----rBZODlqAsXT7wkR1scXl1bTMFumKVCNgJUznayjk57H8j0UYKvQ7YJxNg9WynNdYYXPUQAWlNhSPDjO1Kcvh8Q/4cr6y5OVbUmx0lj69jvdqR2BQJkbblgu6ZitPd8hzoRnirJwGIk/L25ZsYAPTv3GUQ+uf0vR3paDd+PAosHo6/J92PUDUc8VB15DzE/HwK1CWAEfaZa5n3k+0WU70QhkgOR/mG6N7BFykcZqSUR4sCnky9Dm3TMzlrRWnj89qfcnq+mB1QKxgLcQWXiX+e3xj/F9cZ7T+2bnh7FQTp6MuSjX5Sj8sm4sr8+cWcmos0cYCs8YCwZCLpA0xkizNsECiIWoqXnPCtl6Za5r1IRrK4zYWqMQ9xNQjvsY61B+VVka0Ftn93Jtv7n2FAQ601Sk6FRw+mQk/bppz++FAl38BmIb7HeargDTeI55I7R366PAaufGfMwiD4G4ZQdTifqFTCNHToXQDr43zJpBAAYbGWWkz7K6wfnwCoHjNKFPj+FYOoLcbf1v0rNJymgzPETUCUSatAJ/b6ZEE34R6szbz8Cv1BBAY+ZAF5LxM7wbrhxX6MJ+EavJEO6Hvoho7oS81Vv8iN9LwqiigiAE/7ruqUDMuH2Uhft3mUxy56mJQnsXiEXP9imehdYWAP77hDKP4GJdcA39LGRO43KJMy8Y=----ATTACHMENT:----MTY3ODgyMzUyNDY5NzEwNyAxMjExNjUwNzI3MTYyOTA4IDc5NDEzMDI0MDU5NTc2OTE=