1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Stmt;
4:
5: use PhpParser\Node\Name;
6: use PhpParser\Node\Stmt;
7: use PhpParser\Node\UseItem;
8:
9: class 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: