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