xref: /template/strap/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php (revision 83c6863253ba0b92605aa8dceca974358d439aaa)
104fd306cSNickeau<?php
204fd306cSNickeau
3*83c68632SNico/*
4*83c68632SNico * This file is part of the Symfony package.
5*83c68632SNico *
6*83c68632SNico * (c) Fabien Potencier <fabien@symfony.com>
7*83c68632SNico *
8*83c68632SNico * For the full copyright and license information, please view the LICENSE
9*83c68632SNico * file that was distributed with this source code.
10*83c68632SNico */
11*83c68632SNico
1204fd306cSNickeau#[Attribute(Attribute::TARGET_CLASS)]
1304fd306cSNickeaufinal class Attribute
1404fd306cSNickeau{
1504fd306cSNickeau    public const TARGET_CLASS = 1;
1604fd306cSNickeau    public const TARGET_FUNCTION = 2;
1704fd306cSNickeau    public const TARGET_METHOD = 4;
1804fd306cSNickeau    public const TARGET_PROPERTY = 8;
1904fd306cSNickeau    public const TARGET_CLASS_CONSTANT = 16;
2004fd306cSNickeau    public const TARGET_PARAMETER = 32;
2104fd306cSNickeau    public const TARGET_ALL = 63;
2204fd306cSNickeau    public const IS_REPEATABLE = 64;
2304fd306cSNickeau
2404fd306cSNickeau    /** @var int */
2504fd306cSNickeau    public $flags;
2604fd306cSNickeau
2704fd306cSNickeau    public function __construct(int $flags = self::TARGET_ALL)
2804fd306cSNickeau    {
2904fd306cSNickeau        $this->flags = $flags;
3004fd306cSNickeau    }
3104fd306cSNickeau}
32