1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node;
4:
5: use PhpParser\NodeAbstract;
6:
7: class ClosureUse extends NodeAbstract {
8: /** @var Expr\Variable Variable to use */
9: public Expr\Variable $var;
10: /** @var bool Whether to use by reference */
11: public bool $byRef;
12:
13: /**
14: * Constructs a closure use node.
15: *
16: * @param Expr\Variable $var Variable to use
17: * @param bool $byRef Whether to use by reference
18: * @param array<string, mixed> $attributes Additional attributes
19: */
20: public function __construct(Expr\Variable $var, bool $byRef = false, array $attributes = []) {
21: $this->attributes = $attributes;
22: $this->var = $var;
23: $this->byRef = $byRef;
24: }
25:
26: public function getSubNodeNames(): array {
27: return ['var', 'byRef'];
28: }
29:
30: public function getType(): string {
31: return 'ClosureUse';
32: }
33: }
34:
35: // @deprecated compatibility alias
36: class_alias(ClosureUse::class, Expr\ClosureUse::class);
37: