final public void ElementTest()

in jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/query/xpath/XPath.java [8681:8808]


  final public void ElementTest() throws ParseException {
 /*@bgen(jjtree) ElementTest */
  SimpleNode jjtn000 = new SimpleNode(this, JJTELEMENTTEST);
  boolean jjtc000 = true;
  jjtree.openNodeScope(jjtn000);
    try {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case ElementType:
        jj_consume_token(ElementType);
                  SimpleNode jjtn001 = new SimpleNode(this, JJTELEMENTTYPE);
                  boolean jjtc001 = true;
                  jjtree.openNodeScope(jjtn001);
        try {
                  jjtree.closeNodeScope(jjtn001,  true);
                  jjtc001 = false;
                 jjtn001.processToken(token);
        } finally {
                  if (jjtc001) {
                    jjtree.closeNodeScope(jjtn001,  true);
                  }
        }
        break;
      case ElementTypeForKindTest:
        jj_consume_token(ElementTypeForKindTest);
                                                                                              SimpleNode jjtn002 = new SimpleNode(this, JJTELEMENTTYPEFORKINDTEST);
                                                                                              boolean jjtc002 = true;
                                                                                              jjtree.openNodeScope(jjtn002);
        try {
                                                                                              jjtree.closeNodeScope(jjtn002,  true);
                                                                                              jjtc002 = false;
                                                                          jjtn002.processToken(token);
        } finally {
                                                                                              if (jjtc002) {
                                                                                                jjtree.closeNodeScope(jjtn002,  true);
                                                                                              }
        }
        break;
      case ElementTypeForDocumentTest:
        jj_consume_token(ElementTypeForDocumentTest);
                                                                                                                                                                                         SimpleNode jjtn003 = new SimpleNode(this, JJTELEMENTTYPEFORDOCUMENTTEST);
                                                                                                                                                                                         boolean jjtc003 = true;
                                                                                                                                                                                         jjtree.openNodeScope(jjtn003);
        try {
                                                                                                                                                                                         jjtree.closeNodeScope(jjtn003,  true);
                                                                                                                                                                                         jjtc003 = false;
                                                                                                                                       jjtn003.processToken(token);
        } finally {
                                                                                                                                                                                         if (jjtc003) {
                                                                                                                                                                                           jjtree.closeNodeScope(jjtn003,  true);
                                                                                                                                                                                         }
        }
        break;
      default:
        jj_la1[160] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case AnyName:
      case QNameForItemType:
        ElementNameOrWildcard();
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case CommaForKindTest:
          jj_consume_token(CommaForKindTest);
                                                                                                                                                                                                                                                                                                        SimpleNode jjtn004 = new SimpleNode(this, JJTCOMMAFORKINDTEST);
                                                                                                                                                                                                                                                                                                        boolean jjtc004 = true;
                                                                                                                                                                                                                                                                                                        jjtree.openNodeScope(jjtn004);
          try {
                                                                                                                                                                                                                                                                                                        jjtree.closeNodeScope(jjtn004,  true);
                                                                                                                                                                                                                                                                                                        jjtc004 = false;
                                                                                                                                                                                                                    jjtn004.processToken(token);
          } finally {
                                                                                                                                                                                                                                                                                                        if (jjtc004) {
                                                                                                                                                                                                                                                                                                          jjtree.closeNodeScope(jjtn004,  true);
                                                                                                                                                                                                                                                                                                        }
          }
          TypeName();
          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
          case Nillable:
            jj_consume_token(Nillable);
                                                                                                                                                                                                                                                                                                                                                                                     SimpleNode jjtn005 = new SimpleNode(this, JJTNILLABLE);
                                                                                                                                                                                                                                                                                                                                                                                     boolean jjtc005 = true;
                                                                                                                                                                                                                                                                                                                                                                                     jjtree.openNodeScope(jjtn005);
            try {
                                                                                                                                                                                                                                                                                                                                                                                     jjtree.closeNodeScope(jjtn005,  true);
                                                                                                                                                                                                                                                                                                                                                                                     jjtc005 = false;
                                                                                                                                                                                                                                                                         jjtn005.processToken(token);
            } finally {
                                                                                                                                                                                                                                                                                                                                                                                     if (jjtc005) {
                                                                                                                                                                                                                                                                                                                                                                                       jjtree.closeNodeScope(jjtn005,  true);
                                                                                                                                                                                                                                                                                                                                                                                     }
            }
            break;
          default:
            jj_la1[161] = jj_gen;
            ;
          }
          break;
        default:
          jj_la1[162] = jj_gen;
          ;
        }
        break;
      default:
        jj_la1[163] = jj_gen;
        ;
      }
      jj_consume_token(RparForKindTest);
    } catch (Throwable jjte000) {
    if (jjtc000) {
      jjtree.clearNodeScope(jjtn000);
      jjtc000 = false;
    } else {
      jjtree.popNode();
    }
    if (jjte000 instanceof RuntimeException) {
      {if (true) throw (RuntimeException)jjte000;}
    }
    if (jjte000 instanceof ParseException) {
      {if (true) throw (ParseException)jjte000;}
    }
    {if (true) throw (Error)jjte000;}
    } finally {
    if (jjtc000) {
      jjtree.closeNodeScope(jjtn000, true);
    }
    }
  }