final public void Ternary()

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();
                }
            }
        }
    }