diff --git a/docs/en/reference/dql-doctrine-query-language.rst b/docs/en/reference/dql-doctrine-query-language.rst index 3cb05ff80c9..cb08c79425d 100644 --- a/docs/en/reference/dql-doctrine-query-language.rst +++ b/docs/en/reference/dql-doctrine-query-language.rst @@ -1693,7 +1693,7 @@ Select Expressions PartialObjectExpression ::= "PARTIAL" IdentificationVariable "." PartialFieldSet PartialFieldSet ::= "{" SimpleStateField {"," SimpleStateField}* "}" NewObjectExpression ::= "NEW" AbstractSchemaName "(" NewObjectArg {"," NewObjectArg}* ")" - NewObjectArg ::= ScalarExpression | "(" Subselect ")" + NewObjectArg ::= ScalarExpression | NamedScalarExpression | "(" Subselect ")" Conditional Expressions ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/lib/Doctrine/ORM/Query/Parser.php b/lib/Doctrine/ORM/Query/Parser.php index a2060870164..14536a74385 100644 --- a/lib/Doctrine/ORM/Query/Parser.php +++ b/lib/Doctrine/ORM/Query/Parser.php @@ -1948,10 +1948,14 @@ public function NewObjectExpression() /** * NewObjectArg ::= ScalarExpression | NamedScalarExpression | "(" Subselect ")" * + * @param bool $namedArgAlreadyParsed + * * @return mixed */ - public function NewObjectArg(bool $namedArgAlreadyParsed = false) + public function NewObjectArg(/* bool $namedArgAlreadyParsed = false */) { + $namedArgAlreadyParsed = func_get_args()[0] ?? false; + assert($this->lexer->lookahead !== null); $token = $this->lexer->lookahead; $peek = $this->lexer->glimpse();