in java/org/apache/el/parser/ELParser.java [585:726]
final public void Ternary() throws ParseException {
Or();
label_6: while (true) {
switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
case QUESTIONMARK: {
;
break;
}
default:
jj_la1[10] = jj_gen;
break label_6;
}
if (jj_2_5(2)) {
jj_consume_token(QUESTIONMARK);
jj_consume_token(QUESTIONMARK);
AstNullCoalescing jjtn001 = new AstNullCoalescing(JJTNULLCOALESCING);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
Ternary();
} 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, 2);
}
}
} else if (jj_2_6(2)) {
jj_consume_token(QUESTIONMARK);
jj_consume_token(COLON);
AstElvis jjtn002 = new AstElvis(JJTELVIS);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
try {
Ternary();
} catch (Throwable jjte002) {
if (jjtc002) {
jjtree.clearNodeScope(jjtn002);
jjtc002 = false;
} else {
jjtree.popNode();
}
if (jjte002 instanceof RuntimeException) {
{
if (true) {
throw (RuntimeException) jjte002;
}
}
}
if (jjte002 instanceof ParseException) {
{
if (true) {
throw (ParseException) jjte002;
}
}
}
{
if (true) {
throw (Error) jjte002;
}
}
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, 2);
}
}
} else {
switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
case QUESTIONMARK: {
jj_consume_token(QUESTIONMARK);
Ternary();
jj_consume_token(COLON);
AstChoice jjtn003 = new AstChoice(JJTCHOICE);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
try {
Ternary();
} 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, 3);
}
}
break;
}
default:
jj_la1[11] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}