<?php declare(strict_types = 1);
namespace PHPStan\PhpDocParser\Ast\ConstExpr;
use PHPStan\PhpDocParser\Ast\NodeAttributes;
class ConstFetchNode implements ConstExprNode
{
use NodeAttributes;
/** @var string class name for class constants or empty string for non-class constants */
public string $className;
public string $name;
public function __construct(string $className, string $name)
{
$this->className = $className;
$this->name = $name;
}
public function __toString(): string
{
if ($this->className === '') {
return $this->name;
}
return "{$this->className}::{$this->name}";
}
/**
* @param array<string, mixed> $properties
*/
public static function __set_state(array $properties): self
{
$instance = new self($properties['className'], $properties['name']);
if (isset($properties['attributes'])) {
foreach ($properties['attributes'] as $key => $value) {
$instance->setAttribute($key, $value);
}
}
return $instance;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| ConstExprArrayItemNode.php | File | 953 B | 0644 |
|
| ConstExprArrayNode.php | File | 851 B | 0644 |
|
| ConstExprFalseNode.php | File | 588 B | 0644 |
|
| ConstExprFloatNode.php | File | 713 B | 0644 |
|
| ConstExprIntegerNode.php | File | 715 B | 0644 |
|
| ConstExprNode.php | File | 159 B | 0644 |
|
| ConstExprNullNode.php | File | 586 B | 0644 |
|
| ConstExprStringNode.php | File | 3.12 KB | 0644 |
|
| ConstExprTrueNode.php | File | 586 B | 0644 |
|
| ConstFetchNode.php | File | 986 B | 0644 |
|
| DoctrineConstExprStringNode.php | File | 1.34 KB | 0644 |
|