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