1<?php declare(strict_types=1); 2 3namespace PhpParser\Node\Expr; 4 5use PhpParser\Node\ArrayItem; 6use PhpParser\Node\Expr; 7 8class List_ extends Expr { 9 // For use in "kind" attribute 10 public const KIND_LIST = 1; // list() syntax 11 public const KIND_ARRAY = 2; // [] syntax 12 13 /** @var (ArrayItem|null)[] List of items to assign to */ 14 public array $items; 15 16 /** 17 * Constructs a list() destructuring node. 18 * 19 * @param (ArrayItem|null)[] $items List of items to assign to 20 * @param array<string, mixed> $attributes Additional attributes 21 */ 22 public function __construct(array $items, array $attributes = []) { 23 $this->attributes = $attributes; 24 $this->items = $items; 25 } 26 27 public function getSubNodeNames(): array { 28 return ['items']; 29 } 30 31 public function getType(): string { 32 return 'Expr_List'; 33 } 34} 35