1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Stmt;
4:
5: use PhpParser\Node;
6: use PhpParser\Node\DeclareItem;
7:
8: class Declare_ extends Node\Stmt {
9: /** @var DeclareItem[] List of declares */
10: public array $declares;
11: /** @var Node\Stmt[]|null Statements */
12: public ?array $stmts;
13:
14: /**
15: * Constructs a declare node.
16: *
17: * @param DeclareItem[] $declares List of declares
18: * @param Node\Stmt[]|null $stmts Statements
19: * @param array<string, mixed> $attributes Additional attributes
20: */
21: public function __construct(array $declares, ?array $stmts = null, array $attributes = []) {
22: $this->attributes = $attributes;
23: $this->declares = $declares;
24: $this->stmts = $stmts;
25: }
26:
27: public function getSubNodeNames(): array {
28: return ['declares', 'stmts'];
29: }
30:
31: public function getType(): string {
32: return 'Stmt_Declare';
33: }
34: }
35: