Parses the "UnaryExpr" rule. @return query expression or null @throws QueryException query exception
()
| 2064 | * @throws QueryException query exception |
| 2065 | */ |
| 2066 | private Expr unary() throws QueryException { |
| 2067 | boolean minus = false, found = false; |
| 2068 | while(true) { |
| 2069 | skipWs(); |
| 2070 | if(next() != '>' && consume('-')) { |
| 2071 | minus ^= true; |
| 2072 | } else if(consume('+')) { |
| 2073 | } else { |
| 2074 | final Expr expr = value(); |
| 2075 | return found ? new Unary(info(), check(expr, EVALUNARY), minus) : expr; |
| 2076 | } |
| 2077 | found = true; |
| 2078 | } |
| 2079 | } |
| 2080 | |
| 2081 | /** |
| 2082 | * Parses the "ValueExpr" rule. |