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);
}
}
}