in jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/query/sql/JCRSQLParser.java [792:852]
final public void UnaryExpression() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case NOT:
ASTNotExpression jjtn001 = new ASTNotExpression(JJTNOTEXPRESSION);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
jj_consume_token(NOT);
UnaryExpression();
} catch (Throwable jjte001) {
if (jjtc001) {
jjtree.clearNodeScope(jjtn001);
jjtc001 = false;
} else {
jjtree.popNode();
}
if (jjte001 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte001;}
}
if (jjte001 instanceof ParseException) {
{if (true) throw (ParseException)jjte001;}
}
{if (true) throw (Error)jjte001;}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
break;
case BY:
case IN:
case OR:
case IS:
case AND:
case LIKE:
case NULL:
case FROM:
case LOWER:
case ORDER:
case UPPER:
case WHERE:
case SELECT:
case BETWEEN:
case SIMILAR:
case CONTAINS:
case SPELLCHECK:
case LEFT_PAREN:
case REGULAR_IDENTIFIER:
case DELIMITED_IDENTIFIER:
case EXACT_NUMERIC_LITERAL:
case APPROXIMATE_NUMERIC_LITERAL:
case DATETIME_LITERAL:
case CHAR_STRING_LITERAL:
PrimaryExpression();
break;
default:
jj_la1[24] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}