1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Stmt;
4:
5: use PhpParser\Node;
6:
7: class TraitUse extends Node\Stmt {
8: /** @var Node\Name[] Traits */
9: public array $traits;
10: /** @var TraitUseAdaptation[] Adaptations */
11: public array $adaptations;
12:
13: /**
14: * Constructs a trait use node.
15: *
16: * @param Node\Name[] $traits Traits
17: * @param TraitUseAdaptation[] $adaptations Adaptations
18: * @param array<string, mixed> $attributes Additional attributes
19: */
20: public function __construct(array $traits, array $adaptations = [], array $attributes = []) {
21: $this->attributes = $attributes;
22: $this->traits = $traits;
23: $this->adaptations = $adaptations;
24: }
25:
26: public function getSubNodeNames(): array {
27: return ['traits', 'adaptations'];
28: }
29:
30: public function getType(): string {
31: return 'Stmt_TraitUse';
32: }
33: }
34: