1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node;
4:
5: use Override;
6: use PhpParser\Node;
7: use PHPStan\Reflection\ClassReflection;
8:
9: /**
10: * @api
11: */
12: final class InTraitNode extends Node\Stmt implements VirtualNode
13: {
14:
15: public function __construct(private Node\Stmt\Trait_ $originalNode, private ClassReflection $traitReflection, private ClassReflection $implementingClassReflection)
16: {
17: parent::__construct($originalNode->getAttributes());
18: }
19:
20: public function getOriginalNode(): Node\Stmt\Trait_
21: {
22: return $this->originalNode;
23: }
24:
25: public function getTraitReflection(): ClassReflection
26: {
27: return $this->traitReflection;
28: }
29:
30: public function getImplementingClassReflection(): ClassReflection
31: {
32: return $this->implementingClassReflection;
33: }
34:
35: #[Override]
36: public function getType(): string
37: {
38: return 'PHPStan_Stmt_InTraitNode';
39: }
40:
41: /**
42: * @return string[]
43: */
44: #[Override]
45: public function getSubNodeNames(): array
46: {
47: return [];
48: }
49:
50: }
51: