diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Arr.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Arr.php index daf731ef..f8c84885 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Arr.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Arr.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -23,7 +24,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('ARRAY[%s]'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount === 0) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseVariadicFunction.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseVariadicFunction.php index 8a08b319..679c413a 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseVariadicFunction.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/BaseVariadicFunction.php @@ -51,7 +51,7 @@ protected function feedParserWithNodes(Parser $parser): void $lookaheadType = DoctrineLexer::getLookaheadType($lexer); } - $this->validateArguments($this->nodes); + $this->validateArguments(...$this->nodes); // @phpstan-ignore-line } public function getSql(SqlWalker $sqlWalker): string @@ -67,9 +67,7 @@ public function getSql(SqlWalker $sqlWalker): string /** * Validates the arguments passed to the function. * - * @param mixed[] $arguments The array of arguments to validate - * * @throws InvalidArgumentForVariadicFunctionException */ - abstract protected function validateArguments(array $arguments): void; + abstract protected function validateArguments(Node ...$arguments): void; } diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Greatest.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Greatest.php index 18b4f270..89a07cf8 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Greatest.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Greatest.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -21,7 +22,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('greatest(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount < 2) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonBuildObject.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonBuildObject.php index 47fbca84..8daa091b 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonBuildObject.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonBuildObject.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -21,7 +22,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('json_build_object(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount === 0 || $argumentCount % 2 !== 0) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonbBuildObject.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonbBuildObject.php index f55fb828..bebba4d8 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonbBuildObject.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/JsonbBuildObject.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -21,7 +22,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('jsonb_build_object(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount === 0 || $argumentCount % 2 !== 0) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Least.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Least.php index a56efb96..b52e1f79 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Least.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Least.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -21,7 +22,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('least(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount < 2) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Row.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Row.php index 4ffbeca9..2c959617 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Row.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Row.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -20,7 +21,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('ROW(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount === 0) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsquery.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsquery.php index 25f50ea9..653f1b54 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsquery.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsquery.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -21,7 +22,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('to_tsquery(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount < 1 || $argumentCount > 2) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsvector.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsvector.php index 1f090a25..e5b1ef71 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsvector.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/ToTsvector.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -23,7 +24,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('to_tsvector(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount < 1 || $argumentCount > 2) { diff --git a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Unaccent.php b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Unaccent.php index 01d15c8c..8b4aea19 100644 --- a/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Unaccent.php +++ b/src/MartinGeorgiev/Doctrine/ORM/Query/AST/Functions/Unaccent.php @@ -4,6 +4,7 @@ namespace MartinGeorgiev\Doctrine\ORM\Query\AST\Functions; +use Doctrine\ORM\Query\AST\Node; use MartinGeorgiev\Doctrine\ORM\Query\AST\Functions\Exception\InvalidArgumentForVariadicFunctionException; /** @@ -22,7 +23,7 @@ protected function customizeFunction(): void $this->setFunctionPrototype('unaccent(%s)'); } - protected function validateArguments(array $arguments): void + protected function validateArguments(Node ...$arguments): void { $argumentCount = \count($arguments); if ($argumentCount < 1 || $argumentCount > 2) {