1<?php declare(strict_types=1); 2 3namespace PhpParser\Node\Expr; 4 5use PhpParser\Node; 6use PhpParser\Node\Expr; 7 8class 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