functionReference; } public function setFunctionReference(Expr $functionReference): void { $this->functionReference = $functionReference; } /** * @return Expr[] */ public function getExpectedArguments(): array { return $this->expectedArguments; } /** * @param Expr[] $expectedArguments */ public function setExpectedArguments(array $expectedArguments): void { $this->expectedArguments = $expectedArguments; } public function getIndex(): int { return $this->index; } #[Pure] public function __toString(): string { if ($this->functionReference === null) { return ''; } if (property_exists($this->functionReference, 'name')) { return (string)$this->functionReference->name; } return implode(',', $this->functionReference->getAttributes()); } }