src/main/java/ognl/OgnlParser.java
final public void unaryExpression() throws ParseException {
    StringBuffer sb;
    Token t;
    ASTInstanceof ionode;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case 36:
      jj_consume_token(36);
              ASTNegate jjtn001 = new ASTNegate(JJTNEGATE);
              boolean jjtc001 = true;
              jjtree.openNodeScope(jjtn001);
      try {
        unaryExpression();
      } 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;
    case 35:
      jj_consume_token(35);
      unaryExpression();
      break;
    case 40:
      jj_consume_token(40);
              ASTBitNegate jjtn002 = new ASTBitNegate(JJTBITNEGATE);
              boolean jjtc002 = true;
              jjtree.openNodeScope(jjtn002);
      try {
        unaryExpression();
      } 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,  1);
              }
      }
      break;
    case 28:
    case 41:
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 41:
        jj_consume_token(41);
        break;
      case 28:
        jj_consume_token(28);
        break;
      default:
        jj_la1[32] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
                        ASTNot jjtn003 = new ASTNot(JJTNOT);
                        boolean jjtc003 = true;
                        jjtree.openNodeScope(jjtn003);
      try {
        unaryExpression();
      } 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,  1);
                        }
      }
      break;
    case 4:
    case 44:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 54:
    case 56:
    case 57:
    case IDENT:
    case DYNAMIC_SUBSCRIPT:
    case CHAR_LITERAL:
    case BACK_CHAR_LITERAL:
    case STRING_LITERAL:
    case INT_LITERAL:
    case FLT_LITERAL:
      navigationChain();
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 42:
        jj_consume_token(42);
        t = jj_consume_token(IDENT);
                           ASTInstanceof jjtn004 = new ASTInstanceof(JJTINSTANCEOF);
                           boolean jjtc004 = true;
                           jjtree.openNodeScope(jjtn004);
        try {
                           jjtree.closeNodeScope(jjtn004,  1);
                           jjtc004 = false;
                           sb = new StringBuffer(t.image); ionode = jjtn004;
        } finally {
                           if (jjtc004) {
                             jjtree.closeNodeScope(jjtn004,  1);
                           }
        }
        label_12:
        while (true) {
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case 43:
            ;
            break;
          default:
            jj_la1[33] = jj_gen;
            break label_12;
          }
          jj_consume_token(43);
          t = jj_consume_token(IDENT);
                                          sb.append('.').append( t.image );
        }
                                          ionode.setTargetType( new String(sb) );
        break;
      default:
        jj_la1[34] = jj_gen;
        ;
      }
      break;
    default:
      jj_la1[35] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
  }
final public void unaryExpression() throws ParseException {
    StringBuffer sb;
    Token t;
    ASTInstanceof ionode;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case 36:
      jj_consume_token(36);
              ASTNegate jjtn001 = new ASTNegate(JJTNEGATE);
              boolean jjtc001 = true;
              jjtree.openNodeScope(jjtn001);
      try {
        unaryExpression();
      } 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;
    case 35:
      jj_consume_token(35);
      unaryExpression();
      break;
    case 40:
      jj_consume_token(40);
              ASTBitNegate jjtn002 = new ASTBitNegate(JJTBITNEGATE);
              boolean jjtc002 = true;
              jjtree.openNodeScope(jjtn002);
      try {
        unaryExpression();
      } 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,  1);
              }
      }
      break;
    case 28:
    case 41:
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 41:
        jj_consume_token(41);
        break;
      case 28:
        jj_consume_token(28);
        break;
      default:
        jj_la1[32] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
                        ASTNot jjtn003 = new ASTNot(JJTNOT);
                        boolean jjtc003 = true;
                        jjtree.openNodeScope(jjtn003);
      try {
        unaryExpression();
      } 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,  1);
                        }
      }
      break;
    case 4:
    case 44:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 54:
    case 56:
    case 57:
    case IDENT:
    case DYNAMIC_SUBSCRIPT:
    case CHAR_LITERAL:
    case BACK_CHAR_LITERAL:
    case STRING_LITERAL:
    case INT_LITERAL:
    case FLT_LITERAL:
      navigationChain();
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 42:
        jj_consume_token(42);
        t = jj_consume_token(IDENT);
                           ASTInstanceof jjtn004 = new ASTInstanceof(JJTINSTANCEOF);
                           boolean jjtc004 = true;
                           jjtree.openNodeScope(jjtn004);
        try {
                           jjtree.closeNodeScope(jjtn004,  1);
                           jjtc004 = false;
                           sb = new StringBuffer(t.image); ionode = jjtn004;
        } finally {
                           if (jjtc004) {
                             jjtree.closeNodeScope(jjtn004,  1);
                           }
        }
        label_12:
        while (true) {
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case 43:
            ;
            break;
          default:
            jj_la1[33] = jj_gen;
            break label_12;
          }
          jj_consume_token(43);
          t = jj_consume_token(IDENT);
                                          sb.append('.').append( t.image );
        }
                                          ionode.setTargetType( new String(sb) );
        break;
      default:
        jj_la1[34] = jj_gen;
        ;
      }
      break;
    default:
      jj_la1[35] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
  }
final public void unaryExpression ( ) throws ParseException { StringBuffer sb ; Token t ; ASTInstanceof ionode ; switch ( ( jj_ntk == - 1 ) ? jj_ntk ( ) : jj_ntk ) { case 36 : jj_consume_token ( 36 ) ; ASTNegate jjtn001 = new ASTNegate ( JJTNEGATE ) ; boolean jjtc001 = true ; jjtree . openNodeScope ( jjtn001 ) ; try { unaryExpression ( ) ; } 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 ; case 35 : jj_consume_token ( 35 ) ; unaryExpression ( ) ; break ; case 40 : jj_consume_token ( 40 ) ; ASTBitNegate jjtn002 = new ASTBitNegate ( JJTBITNEGATE ) ; boolean jjtc002 = true ; jjtree . openNodeScope ( jjtn002 ) ; try { unaryExpression ( ) ; } 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 , 1 ) ; } } break ; case 28 : case 41 : switch ( ( jj_ntk == - 1 ) ? jj_ntk ( ) : jj_ntk ) { case 41 : jj_consume_token ( 41 ) ; break ; case 28 : jj_consume_token ( 28 ) ; break ; default : jj_la1 [ 32 ] = jj_gen ; jj_consume_token ( - 1 ) ; throw new ParseException ( ) ; } ASTNot jjtn003 = new ASTNot ( JJTNOT ) ; boolean jjtc003 = true ; jjtree . openNodeScope ( jjtn003 ) ; try { unaryExpression ( ) ; } 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 , 1 ) ; } } break ; case 4 : case 44 : case 46 : case 47 : case 48 : case 49 : case 50 : case 51 : case 52 : case 54 : case 56 : case 57 : case IDENT : case DYNAMIC_SUBSCRIPT : case CHAR_LITERAL : case BACK_CHAR_LITERAL : case STRING_LITERAL : case INT_LITERAL : case FLT_LITERAL : navigationChain ( ) ; switch ( ( jj_ntk == - 1 ) ? jj_ntk ( ) : jj_ntk ) { case 42 : jj_consume_token ( 42 ) ; t = jj_consume_token ( IDENT ) ; ASTInstanceof jjtn004 = new ASTInstanceof ( JJTINSTANCEOF ) ; boolean jjtc004 = true ; jjtree . openNodeScope ( jjtn004 ) ; try { jjtree . closeNodeScope ( jjtn004 , 1 ) ; jjtc004 = false ; sb = new StringBuffer ( t . image ) ; ionode = jjtn004 ; } finally { if ( jjtc004 ) { jjtree . closeNodeScope ( jjtn004 , 1 ) ; } } label_12 : while ( true ) { switch ( ( jj_ntk == - 1 ) ? jj_ntk ( ) : jj_ntk ) { case 43 : ; break ; default : jj_la1 [ 33 ] = jj_gen ; break label_12 ; } jj_consume_token ( 43 ) ; t = jj_consume_token ( IDENT ) ; sb . append ( ' ' ) . append ( t . image ) ; } ionode . setTargetType ( new String ( sb ) ) ; break ; default : jj_la1 [ 34 ] = jj_gen ; ; } break ; default : jj_la1 [ 35 ] = jj_gen ; jj_consume_token ( - 1 ) ; throw new ParseException ( ) ; } }
unary (level 1)
unary ( level 1 )