in cayenne/src/main/java/org/apache/cayenne/exp/parser/ExpressionParser.java [284:723]
final public void simpleCondition() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TRUE:{
ASTTrue jjtn001 = new ASTTrue(JJTTRUE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
jj_consume_token(TRUE);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
break;
}
case FALSE:{
ASTFalse jjtn002 = new ASTFalse(JJTFALSE);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
try {
jj_consume_token(FALSE);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
}
}
break;
}
case 16:
case 25:
case 26:
case 28:
case NULL:
case AVG:
case MIN:
case MAX:
case SUM:
case COUNT:
case CONCAT:
case SUBSTRING:
case TRIM:
case LOWER:
case UPPER:
case LENGTH:
case LOCATE:
case ABS:
case SQRT:
case MOD:
case CURRENT_DATE:
case CURRENT_TIME:
case CURRENT_TIMESTAMP:
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 SINGLE_QUOTED_STRING:
case DOUBLE_QUOTED_STRING:
case INT_LITERAL:
case FLOAT_LITERAL:{
conditionExpression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 18:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 5:
case 6:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 5:{
jj_consume_token(5);
break;
}
case 6:{
jj_consume_token(6);
break;
}
default:
jj_la1[4] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
ASTEqual jjtn003 = new ASTEqual(JJTEQUAL);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
try {
scalarExpression();
} catch (Throwable jjte003) {
if (jjtc003) {
jjtree.clearNodeScope(jjtn003);
jjtc003 = false;
} else {
jjtree.popNode();
}
if (jjte003 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte003;}
}
if (jjte003 instanceof ParseException) {
{if (true) throw (ParseException)jjte003;}
}
{if (true) throw (Error)jjte003;}
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, 2);
}
}
break;
}
case 7:
case 8:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 7:{
jj_consume_token(7);
break;
}
case 8:{
jj_consume_token(8);
break;
}
default:
jj_la1[5] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
ASTNotEqual jjtn004 = new ASTNotEqual(JJTNOTEQUAL);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
try {
scalarExpression();
} catch (Throwable jjte004) {
if (jjtc004) {
jjtree.clearNodeScope(jjtn004);
jjtc004 = false;
} else {
jjtree.popNode();
}
if (jjte004 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte004;}
}
if (jjte004 instanceof ParseException) {
{if (true) throw (ParseException)jjte004;}
}
{if (true) throw (Error)jjte004;}
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, 2);
}
}
break;
}
case 9:{
jj_consume_token(9);
ASTLessOrEqual jjtn005 = new ASTLessOrEqual(JJTLESSOREQUAL);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
try {
scalarExpression();
} catch (Throwable jjte005) {
if (jjtc005) {
jjtree.clearNodeScope(jjtn005);
jjtc005 = false;
} else {
jjtree.popNode();
}
if (jjte005 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte005;}
}
if (jjte005 instanceof ParseException) {
{if (true) throw (ParseException)jjte005;}
}
{if (true) throw (Error)jjte005;}
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, 2);
}
}
break;
}
case 10:{
jj_consume_token(10);
ASTLess jjtn006 = new ASTLess(JJTLESS);
boolean jjtc006 = true;
jjtree.openNodeScope(jjtn006);
try {
scalarExpression();
} catch (Throwable jjte006) {
if (jjtc006) {
jjtree.clearNodeScope(jjtn006);
jjtc006 = false;
} else {
jjtree.popNode();
}
if (jjte006 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte006;}
}
if (jjte006 instanceof ParseException) {
{if (true) throw (ParseException)jjte006;}
}
{if (true) throw (Error)jjte006;}
} finally {
if (jjtc006) {
jjtree.closeNodeScope(jjtn006, 2);
}
}
break;
}
case 11:{
jj_consume_token(11);
ASTGreater jjtn007 = new ASTGreater(JJTGREATER);
boolean jjtc007 = true;
jjtree.openNodeScope(jjtn007);
try {
scalarExpression();
} catch (Throwable jjte007) {
if (jjtc007) {
jjtree.clearNodeScope(jjtn007);
jjtc007 = false;
} else {
jjtree.popNode();
}
if (jjte007 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte007;}
}
if (jjte007 instanceof ParseException) {
{if (true) throw (ParseException)jjte007;}
}
{if (true) throw (Error)jjte007;}
} finally {
if (jjtc007) {
jjtree.closeNodeScope(jjtn007, 2);
}
}
break;
}
case 12:{
jj_consume_token(12);
ASTGreaterOrEqual jjtn008 = new ASTGreaterOrEqual(JJTGREATEROREQUAL);
boolean jjtc008 = true;
jjtree.openNodeScope(jjtn008);
try {
scalarExpression();
} catch (Throwable jjte008) {
if (jjtc008) {
jjtree.clearNodeScope(jjtn008);
jjtc008 = false;
} else {
jjtree.popNode();
}
if (jjte008 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte008;}
}
if (jjte008 instanceof ParseException) {
{if (true) throw (ParseException)jjte008;}
}
{if (true) throw (Error)jjte008;}
} finally {
if (jjtc008) {
jjtree.closeNodeScope(jjtn008, 2);
}
}
break;
}
case 13:{
jj_consume_token(13);
ASTLike jjtn009 = new ASTLike(JJTLIKE);
boolean jjtc009 = true;
jjtree.openNodeScope(jjtn009);
try {
scalarExpression();
} catch (Throwable jjte009) {
if (jjtc009) {
jjtree.clearNodeScope(jjtn009);
jjtc009 = false;
} else {
jjtree.popNode();
}
if (jjte009 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte009;}
}
if (jjte009 instanceof ParseException) {
{if (true) throw (ParseException)jjte009;}
}
{if (true) throw (Error)jjte009;}
} finally {
if (jjtc009) {
jjtree.closeNodeScope(jjtn009, 2);
}
}
break;
}
case 14:{
jj_consume_token(14);
ASTLikeIgnoreCase jjtn010 = new ASTLikeIgnoreCase(JJTLIKEIGNORECASE);
boolean jjtc010 = true;
jjtree.openNodeScope(jjtn010);
try {
scalarExpression();
} catch (Throwable jjte010) {
if (jjtc010) {
jjtree.clearNodeScope(jjtn010);
jjtc010 = false;
} else {
jjtree.popNode();
}
if (jjte010 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte010;}
}
if (jjte010 instanceof ParseException) {
{if (true) throw (ParseException)jjte010;}
}
{if (true) throw (Error)jjte010;}
} finally {
if (jjtc010) {
jjtree.closeNodeScope(jjtn010, 2);
}
}
break;
}
case 15:{
jj_consume_token(15);
ASTIn jjtn011 = new ASTIn(JJTIN);
boolean jjtc011 = true;
jjtree.openNodeScope(jjtn011);
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 70:{
namedParameter();
break;
}
case 16:{
jj_consume_token(16);
scalarCommaList();
jj_consume_token(17);
break;
}
default:
jj_la1[6] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte011) {
if (jjtc011) {
jjtree.clearNodeScope(jjtn011);
jjtc011 = false;
} else {
jjtree.popNode();
}
if (jjte011 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte011;}
}
if (jjte011 instanceof ParseException) {
{if (true) throw (ParseException)jjte011;}
}
{if (true) throw (Error)jjte011;}
} finally {
if (jjtc011) {
jjtree.closeNodeScope(jjtn011, 2);
}
}
break;
}
case 18:{
jj_consume_token(18);
scalarExpression();
jj_consume_token(2);
ASTBetween jjtn012 = new ASTBetween(JJTBETWEEN);
boolean jjtc012 = true;
jjtree.openNodeScope(jjtn012);
try {
scalarExpression();
} catch (Throwable jjte012) {
if (jjtc012) {
jjtree.clearNodeScope(jjtn012);
jjtc012 = false;
} else {
jjtree.popNode();
}
if (jjte012 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte012;}
}
if (jjte012 instanceof ParseException) {
{if (true) throw (ParseException)jjte012;}
}
{if (true) throw (Error)jjte012;}
} finally {
if (jjtc012) {
jjtree.closeNodeScope(jjtn012, 3);
}
}
break;
}
case 3:
case 4:{
simpleNotCondition();
break;
}
default:
jj_la1[7] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
default:
jj_la1[8] = jj_gen;
;
}
break;
}
default:
jj_la1[9] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}