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