simpleCallableNodeTraverser = $simpleCallableNodeTraverser; $this->nodeNameResolver = $nodeNameResolver; } public function isVariadic(\PhpParser\Node\FunctionLike $functionLike) : bool { $isVariadic = \false; $this->simpleCallableNodeTraverser->traverseNodesWithCallable((array) $functionLike->getStmts(), function (\PhpParser\Node $node) use(&$isVariadic) : ?int { if (!$node instanceof \PhpParser\Node\Expr\FuncCall) { return null; } if (!$this->nodeNameResolver->isNames($node, self::VARIADIC_FUNCTION_NAMES)) { return null; } $isVariadic = \true; return \PhpParser\NodeTraverser::STOP_TRAVERSAL; }); return $isVariadic; } }