1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\PhpDoc\Tag;
4:
5: use PHPStan\Type\Generic\TemplateTypeVariance;
6: use PHPStan\Type\Type;
7:
8: /** @api */
9: class TemplateTag
10: {
11:
12: /**
13: * @param non-empty-string $name
14: */
15: public function __construct(private string $name, private Type $bound, private TemplateTypeVariance $variance)
16: {
17: }
18:
19: /**
20: * @return non-empty-string
21: */
22: public function getName(): string
23: {
24: return $this->name;
25: }
26:
27: public function getBound(): Type
28: {
29: return $this->bound;
30: }
31:
32: public function getVariance(): TemplateTypeVariance
33: {
34: return $this->variance;
35: }
36:
37: }
38: