⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ognlparser.java

📁 ONGL官方源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
      } 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();
    }
  }

// navigation chain: property references, method calls, projections, selections, etc.
  final public void navigationChain() throws ParseException {
    primaryExpression();
    label_13:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 43:
      case 44:
      case 52:
      case DYNAMIC_SUBSCRIPT:
        ;
        break;
      default:
        jj_la1[36] = jj_gen;
        break label_13;
      }
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case 43:
        jj_consume_token(43);
          ASTChain jjtn001 = new ASTChain(JJTCHAIN);
          boolean jjtc001 = true;
          jjtree.openNodeScope(jjtn001);
        try {
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case IDENT:
            if (jj_2_1(2)) {
              methodCall();
            } else {
              switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
              case IDENT:
                propertyName();
                break;
              default:
                jj_la1[37] = jj_gen;
                jj_consume_token(-1);
                throw new ParseException();
              }
            }
            break;
          case 54:
            if (jj_2_2(2)) {
              projection();
            } else {
              switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
              case 54:
                selection();
                break;
              default:
                jj_la1[38] = jj_gen;
                jj_consume_token(-1);
                throw new ParseException();
              }
            }
            break;
          case 44:
            jj_consume_token(44);
            expression();
            jj_consume_token(45);
            break;
          default:
            jj_la1[39] = jj_gen;
            jj_consume_token(-1);
            throw new ParseException();
          }
        } 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);
          }
        }
        break;
      case 52:
      case DYNAMIC_SUBSCRIPT:
          ASTChain jjtn002 = new ASTChain(JJTCHAIN);
          boolean jjtc002 = true;
          jjtree.openNodeScope(jjtn002);
        try {
          index();
        } 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);
          }
        }
        break;
      case 44:
        jj_consume_token(44);
        expression();
                           ASTEval jjtn003 = new ASTEval(JJTEVAL);
                           boolean jjtc003 = true;
                           jjtree.openNodeScope(jjtn003);
        try {
          jj_consume_token(45);
        } finally {
                           if (jjtc003) {
                             jjtree.closeNodeScope(jjtn003,  2);
                           }
        }
        break;
      default:
        jj_la1[40] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
  }

  final public void primaryExpression() throws ParseException {
    Token   t;
    String  className = null;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case CHAR_LITERAL:
    case BACK_CHAR_LITERAL:
    case STRING_LITERAL:
    case INT_LITERAL:
    case FLT_LITERAL:
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case CHAR_LITERAL:
        jj_consume_token(CHAR_LITERAL);
        break;
      case BACK_CHAR_LITERAL:
        jj_consume_token(BACK_CHAR_LITERAL);
        break;
      case STRING_LITERAL:
        jj_consume_token(STRING_LITERAL);
        break;
      case INT_LITERAL:
        jj_consume_token(INT_LITERAL);
        break;
      case FLT_LITERAL:
        jj_consume_token(FLT_LITERAL);
        break;
      default:
        jj_la1[41] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
                                                  ASTConst jjtn001 = new ASTConst(JJTCONST);
                                                  boolean jjtc001 = true;
                                                  jjtree.openNodeScope(jjtn001);
      try {
                                                  jjtree.closeNodeScope(jjtn001,  0);
                                                  jjtc001 = false;
                                                  jjtn001.setValue( token_source.literalValue );
      } finally {
                                                  if (jjtc001) {
                                                    jjtree.closeNodeScope(jjtn001,  0);
                                                  }
      }
      break;
    case 46:
      jj_consume_token(46);
                                                  ASTConst jjtn002 = new ASTConst(JJTCONST);
                                                  boolean jjtc002 = true;
                                                  jjtree.openNodeScope(jjtn002);
      try {
                                                  jjtree.closeNodeScope(jjtn002,  0);
                                                  jjtc002 = false;
                                                  jjtn002.setValue( Boolean.TRUE );
      } finally {
                                                  if (jjtc002) {
                                                    jjtree.closeNodeScope(jjtn002,  0);
                                                  }
      }
      break;
    case 47:
      jj_consume_token(47);
                                                  ASTConst jjtn003 = new ASTConst(JJTCONST);
                                                  boolean jjtc003 = true;
                                                  jjtree.openNodeScope(jjtn003);
      try {
                                                  jjtree.closeNodeScope(jjtn003,  0);
                                                  jjtc003 = false;
                                                  jjtn003.setValue( Boolean.FALSE );
      } finally {
                                                  if (jjtc003) {
                                                    jjtree.closeNodeScope(jjtn003,  0);
                                                  }
      }
      break;
    case 48:
          ASTConst jjtn004 = new ASTConst(JJTCONST);
          boolean jjtc004 = true;
          jjtree.openNodeScope(jjtn004);
      try {
        jj_consume_token(48);
      } finally {
          if (jjtc004) {
            jjtree.closeNodeScope(jjtn004,  0);
          }
      }
      break;
    default:
      jj_la1[48] = jj_gen;
      if (jj_2_4(2)) {
        jj_consume_token(49);
                                               ASTThisVarRef jjtn005 = new ASTThisVarRef(JJTTHISVARREF);
                                               boolean jjtc005 = true;
                                               jjtree.openNodeScope(jjtn005);
        try {
                                               jjtree.closeNodeScope(jjtn005,  0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -