in cayenne/src/main/java/org/apache/cayenne/exp/parser/ExpressionParser.java [1731:1806]
final public void numericTerm() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 16:
case 25:
case LENGTH:
case LOCATE:
case ABS:
case SQRT:
case MOD:
case YEAR:
case MONTH:
case WEEK:
case DAY_OF_YEAR:
case DAY:
case DAY_OF_MONTH:
case DAY_OF_WEEK:
case HOUR:
case MINUTE:
case SECOND:
case FUNCTION:
case OPERATOR:
case AGGREGATE:
case 70:
case 71:
case 72:
case 73:
case 74:
case PROPERTY_PATH:
case INT_LITERAL:
case FLOAT_LITERAL:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 25:{
jj_consume_token(25);
break;
}
default:
jj_la1[30] = jj_gen;
;
}
numericPrimary();
break;
}
case 26:{
jj_consume_token(26);
ASTNegate jjtn001 = new ASTNegate(JJTNEGATE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
numericTerm();
} 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, 1);
}
}
break;
}
default:
jj_la1[31] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}