1<?php declare(strict_types=1); 2 3namespace PhpParser\Node\Expr; 4 5use PhpParser\Node; 6use PhpParser\Node\Expr; 7use PhpParser\Node\Identifier; 8use PhpParser\Node\Name; 9 10class ClassConstFetch extends Expr { 11 /** @var Name|Expr Class name */ 12 public Node $class; 13 /** @var Identifier|Expr|Error Constant name */ 14 public Node $name; 15 16 /** 17 * Constructs a class const fetch node. 18 * 19 * @param Name|Expr $class Class name 20 * @param string|Identifier|Expr|Error $name Constant name 21 * @param array<string, mixed> $attributes Additional attributes 22 */ 23 public function __construct(Node $class, $name, array $attributes = []) { 24 $this->attributes = $attributes; 25 $this->class = $class; 26 $this->name = \is_string($name) ? new Identifier($name) : $name; 27 } 28 29 public function getSubNodeNames(): array { 30 return ['class', 'name']; 31 } 32 33 public function getType(): string { 34 return 'Expr_ClassConstFetch'; 35 } 36} 37