1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node\Expr;
4:
5: use Override;
6: use PhpParser\Node\Expr;
7: use PHPStan\Node\VirtualNode;
8: use PHPStan\Type\Type;
9:
10: /**
11: * @api
12: */
13: final class NativeTypeExpr extends Expr implements VirtualNode
14: {
15:
16: /** @api */
17: public function __construct(private Type $phpdocType, private Type $nativeType)
18: {
19: parent::__construct();
20: }
21:
22: public function getPhpDocType(): Type
23: {
24: return $this->phpdocType;
25: }
26:
27: public function getNativeType(): Type
28: {
29: return $this->nativeType;
30: }
31:
32: #[Override]
33: public function getType(): string
34: {
35: return 'PHPStan_Node_NativeTypeExpr';
36: }
37:
38: /**
39: * @return string[]
40: */
41: #[Override]
42: public function getSubNodeNames(): array
43: {
44: return [];
45: }
46:
47: }
48: