1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\PhpDocParser\Ast\Type;
4:
5: use PHPStan\PhpDocParser\Ast\NodeAttributes;
6: use function implode;
7:
8: class GenericTypeNode implements TypeNode
9: {
10:
11: use NodeAttributes;
12:
13: /** @var IdentifierTypeNode */
14: public $type;
15:
16: /** @var TypeNode[] */
17: public $genericTypes;
18:
19: public function __construct(IdentifierTypeNode $type, array $genericTypes)
20: {
21: $this->type = $type;
22: $this->genericTypes = $genericTypes;
23: }
24:
25:
26: public function __toString(): string
27: {
28: return $this->type . '<' . implode(', ', $this->genericTypes) . '>';
29: }
30:
31: }
32: