1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node;
4:
5: use PhpParser\Node;
6: use PhpParser\NodeAbstract;
7:
8: class 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: