1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\PhpDocParser\Ast\PhpDoc;
4:
5: use PHPStan\PhpDocParser\Ast\NodeAttributes;
6:
7: class GenericTagValueNode implements PhpDocTagValueNode
8: {
9:
10: use NodeAttributes;
11:
12: /** @var string (may be empty) */
13: public string $value;
14:
15: public function __construct(string $value)
16: {
17: $this->value = $value;
18: }
19:
20: public function __toString(): string
21: {
22: return $this->value;
23: }
24:
25: /**
26: * @param array<string, mixed> $properties
27: */
28: public static function __set_state(array $properties): self
29: {
30: $instance = new self($properties['value']);
31: if (isset($properties['attributes'])) {
32: foreach ($properties['attributes'] as $key => $value) {
33: $instance->setAttribute($key, $value);
34: }
35: }
36: return $instance;
37: }
38:
39: }
40: