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