1<?php declare(strict_types=1); 2 3namespace PhpParser\Node\Stmt; 4 5use PhpParser\Node\Name; 6use PhpParser\Node\Stmt; 7use PhpParser\Node\UseItem; 8 9class GroupUse extends Stmt { 10 /** 11 * @var Use_::TYPE_* Type of group use 12 */ 13 public int $type; 14 /** @var Name Prefix for uses */ 15 public Name $prefix; 16 /** @var UseItem[] Uses */ 17 public array $uses; 18 19 /** 20 * Constructs a group use node. 21 * 22 * @param Name $prefix Prefix for uses 23 * @param UseItem[] $uses Uses 24 * @param Use_::TYPE_* $type Type of group use 25 * @param array<string, mixed> $attributes Additional attributes 26 */ 27 public function __construct(Name $prefix, array $uses, int $type = Use_::TYPE_NORMAL, array $attributes = []) { 28 $this->attributes = $attributes; 29 $this->type = $type; 30 $this->prefix = $prefix; 31 $this->uses = $uses; 32 } 33 34 public function getSubNodeNames(): array { 35 return ['type', 'prefix', 'uses']; 36 } 37 38 public function getType(): string { 39 return 'Stmt_GroupUse'; 40 } 41} 42