xref: /PHP-Parser/lib/PhpParser/Node/Attribute.php (revision 2d3dd4e2)
1<?php declare(strict_types=1);
2
3namespace PhpParser\Node;
4
5use PhpParser\Node;
6use PhpParser\NodeAbstract;
7
8class Attribute extends NodeAbstract {
9    /** @var Name Attribute name */
10    public Name $name;
11
12    /** @var list<Arg> Attribute arguments */
13    public array $args;
14
15    /**
16     * @param Node\Name $name Attribute name
17     * @param list<Arg> $args Attribute arguments
18     * @param array<string, mixed> $attributes Additional node attributes
19     */
20    public function __construct(Name $name, array $args = [], array $attributes = []) {
21        $this->attributes = $attributes;
22        $this->name = $name;
23        $this->args = $args;
24    }
25
26    public function getSubNodeNames(): array {
27        return ['name', 'args'];
28    }
29
30    public function getType(): string {
31        return 'Attribute';
32    }
33}
34