1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\Node\Expr;
4:
5: use PhpParser\Node;
6: use PhpParser\Node\Expr;
7:
8: class FuncCall extends CallLike {
9: /** @var Node\Name|Expr Function name */
10: public Node $name;
11: /** @var array<Node\Arg|Node\VariadicPlaceholder> Arguments */
12: public array $args;
13:
14: /**
15: * Constructs a function call node.
16: *
17: * @param Node\Name|Expr $name Function name
18: * @param array<Node\Arg|Node\VariadicPlaceholder> $args Arguments
19: * @param array<string, mixed> $attributes Additional attributes
20: */
21: public function __construct(Node $name, array $args = [], array $attributes = []) {
22: $this->attributes = $attributes;
23: $this->name = $name;
24: $this->args = $args;
25: }
26:
27: public function getSubNodeNames(): array {
28: return ['name', 'args'];
29: }
30:
31: public function getType(): string {
32: return 'Expr_FuncCall';
33: }
34:
35: public function getRawArgs(): array {
36: return $this->args;
37: }
38: }
39: