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