final public void Unary()

in java/org/apache/el/parser/ELParser.java [1606:1818]


    final public void Unary() throws ParseException {
        switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
            case MINUS: {
                jj_consume_token(MINUS);
                AstNegative jjtn001 = new AstNegative(JJTNEGATIVE);
                boolean jjtc001 = true;
                jjtree.openNodeScope(jjtn001);
                try {
                    Unary();
                } 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;
            }
            default:
                jj_la1[37] = jj_gen;
                if (jj_2_7(2)) {
                    switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
                        case NOT0: {
                            jj_consume_token(NOT0);
                            break;
                        }
                        case NOT1: {
                            jj_consume_token(NOT1);
                            break;
                        }
                        default:
                            jj_la1[35] = jj_gen;
                            jj_consume_token(-1);
                            throw new ParseException();
                    }
                    jj_consume_token(EMPTY);
                    AstNotEmpty jjtn002 = new AstNotEmpty(JJTNOTEMPTY);
                    boolean jjtc002 = true;
                    jjtree.openNodeScope(jjtn002);
                    try {
                        Unary();
                    } 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, true);
                        }
                    }
                } else {
                    switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
                        case NOT0:
                        case NOT1: {
                            switch ((jj_ntk == -1) ? jj_ntk_f() : jj_ntk) {
                                case NOT0: {
                                    jj_consume_token(NOT0);
                                    break;
                                }
                                case NOT1: {
                                    jj_consume_token(NOT1);
                                    break;
                                }
                                default:
                                    jj_la1[36] = jj_gen;
                                    jj_consume_token(-1);
                                    throw new ParseException();
                            }
                            AstNot jjtn003 = new AstNot(JJTNOT);
                            boolean jjtc003 = true;
                            jjtree.openNodeScope(jjtn003);
                            try {
                                Unary();
                            } 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, true);
                                }
                            }
                            break;
                        }
                        case EMPTY: {
                            jj_consume_token(EMPTY);
                            AstEmpty jjtn004 = new AstEmpty(JJTEMPTY);
                            boolean jjtc004 = true;
                            jjtree.openNodeScope(jjtn004);
                            try {
                                Unary();
                            } 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, true);
                                }
                            }
                            break;
                        }
                        case START_SET_OR_MAP:
                        case INTEGER_LITERAL:
                        case FLOATING_POINT_LITERAL:
                        case STRING_LITERAL:
                        case TRUE:
                        case FALSE:
                        case NULL:
                        case LPAREN:
                        case LBRACK:
                        case IDENTIFIER: {
                            Value();
                            break;
                        }
                        default:
                            jj_la1[38] = jj_gen;
                            jj_consume_token(-1);
                            throw new ParseException();
                    }
                }
        }
    }