orderByClause) && count($this->orderByClause->orderByItems) > 0 ? $sqlWalker->walkArithmeticExpression($this->arithmeticExpression) . ' OVER (' . trim($sqlWalker->walkOrderByClause($this->orderByClause)) . ')' : $sqlWalker->walkArithmeticExpression($this->arithmeticExpression) . ' OVER ()'; } public function parse(Parser $parser): void { $lexer = $parser->getLexer(); $parser->match(Lexer::T_IDENTIFIER); $parser->match(Lexer::T_OPEN_PARENTHESIS); $this->arithmeticExpression = $parser->ArithmeticExpression(); if (!$lexer->isNextToken(Lexer::T_CLOSE_PARENTHESIS)) { $parser->match(Lexer::T_COMMA); $this->orderByClause = $parser->OrderByClause(); } $parser->match(Lexer::T_CLOSE_PARENTHESIS); } }