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