<?php  namespace Symfony\Component\CssSelector\Node; use Symfony\Component\CssSelector\Parser\Token;  class FunctionNode extends AbstractNode { private string $name;  public function __construct( private NodeInterface $selector, string $name, private array $arguments = [], ) { $this->name = strtolower($name); } public function getSelector(): NodeInterface { return $this->selector; } public function getName(): string { return $this->name; }  public function getArguments(): array { return $this->arguments; } public function getSpecificity(): Specificity { return $this->selector->getSpecificity()->plus(new Specificity(0, 1, 0)); } public function __toString(): string { $arguments = implode(', ', array_map(fn (Token $token) => "'".$token->getValue()."'", $this->arguments)); return \sprintf('%s[%s:%s(%s)]', $this->getNodeName(), $this->selector, $this->name, $arguments ? '['.$arguments.']' : ''); } }