final public void StepExpr()

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


  final public void StepExpr() throws ParseException {
 /*@bgen(jjtree) #StepExpr(> 1 || isStep) */
 SimpleNode jjtn000 = new SimpleNode(this, JJTSTEPEXPR);
 boolean jjtc000 = true;
 jjtree.openNodeScope(jjtn000);boolean savedIsStep = isStep; isStep=false;
    try {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case AxisChild:
      case AxisDescendant:
      case AxisParent:
      case AxisAttribute:
      case AxisSelf:
      case AxisDescendantOrSelf:
      case AxisAncestor:
      case AxisFollowingSibling:
      case AxisPrecedingSibling:
      case AxisFollowing:
      case AxisPreceding:
      case AxisAncestorOrSelf:
      case ElementType:
      case AttributeType:
      case SchemaElementType:
      case SchemaAttributeType:
      case Star:
      case NCNameColonStar:
      case StarColonNCName:
      case At:
      case DocumentLpar:
      case DocumentLparForKindTest:
      case NodeLpar:
      case CommentLpar:
      case TextLpar:
      case ProcessingInstructionLpar:
      case ElementTypeForKindTest:
      case ElementTypeForDocumentTest:
      case AttributeTypeForKindTest:
      case SchemaElementTypeForKindTest:
      case SchemaElementTypeForDocumentTest:
      case SchemaAttributeTypeForKindTest:
      case ProcessingInstructionLparForKindTest:
      case TextLparForKindTest:
      case CommentLparForKindTest:
      case NodeLparForKindTest:
      case DotDot:
      case QName:
    isStep=true;
        AxisStep();
                             jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1 || isStep);
                             jjtc000 = false;
                            isStep = savedIsStep;
        break;
      case IntegerLiteral:
      case DecimalLiteral:
      case DoubleLiteral:
      case StringLiteral:
      case ProcessingInstructionStart:
      case ProcessingInstructionStartForElementContent:
      case VariableIndicator:
      case OrderedOpen:
      case UnorderedOpen:
      case ElementQNameLbrace:
      case AttributeQNameLbrace:
      case PINCNameLbrace:
      case PILbrace:
      case CommentLbrace:
      case ElementLbrace:
      case AttributeLbrace:
      case TextLbrace:
      case Lpar:
      case DocumentLbrace:
      case Dot:
      case QNameLpar:
      case StartTagOpen:
      case StartTagOpenRoot:
      case XmlCommentStart:
      case XmlCommentStartForElementContent:
        FilterExpr();
                                                                   jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1 || isStep);
                                                                   jjtc000 = false;
                                                                  isStep = savedIsStep;
        break;
      default:
        jj_la1[88] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    } 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, jjtree.nodeArity() > 1 || isStep);
    }
    }
  }