1: | <?php declare(strict_types = 1); |
2: | |
3: | namespace PHPStan\PhpDocParser\Ast; |
4: | |
5: | use function array_key_exists; |
6: | |
7: | trait NodeAttributes |
8: | { |
9: | |
10: | |
11: | private array $attributes = []; |
12: | |
13: | |
14: | |
15: | |
16: | public function setAttribute(string $key, $value): void |
17: | { |
18: | if ($value === null) { |
19: | unset($this->attributes[$key]); |
20: | return; |
21: | } |
22: | $this->attributes[$key] = $value; |
23: | } |
24: | |
25: | public function hasAttribute(string $key): bool |
26: | { |
27: | return array_key_exists($key, $this->attributes); |
28: | } |
29: | |
30: | |
31: | |
32: | |
33: | public function getAttribute(string $key) |
34: | { |
35: | if ($this->hasAttribute($key)) { |
36: | return $this->attributes[$key]; |
37: | } |
38: | |
39: | return null; |
40: | } |
41: | |
42: | } |
43: | |