xref: /PHP-Parser/lib/PhpParser/Node/Stmt/Do_.php (revision 2d3dd4e2)
1<?php declare(strict_types=1);
2
3namespace PhpParser\Node\Stmt;
4
5use PhpParser\Node;
6
7class Do_ extends Node\Stmt {
8    /** @var Node\Stmt[] Statements */
9    public array $stmts;
10    /** @var Node\Expr Condition */
11    public Node\Expr $cond;
12
13    /**
14     * Constructs a do while node.
15     *
16     * @param Node\Expr $cond Condition
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 ['stmts', 'cond'];
28    }
29
30    public function getType(): string {
31        return 'Stmt_Do';
32    }
33}
34