in jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/query/xpath/XPath.java [5567:5701]
final public void FunctionCall() throws ParseException {
/*@bgen(jjtree) FunctionCall */
SimpleNode jjtn000 = new SimpleNode(this, JJTFUNCTIONCALL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(QNameLpar);
SimpleNode jjtn001 = new SimpleNode(this, JJTQNAMELPAR);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
jjtree.closeNodeScope(jjtn001, true);
jjtc001 = false;
jjtn001.processToken(token);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IntegerLiteral:
case DecimalLiteral:
case DoubleLiteral:
case StringLiteral:
case ProcessingInstructionStart:
case ProcessingInstructionStartForElementContent:
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 VariableIndicator:
case ElementType:
case AttributeType:
case SchemaElementType:
case SchemaAttributeType:
case OrderedOpen:
case UnorderedOpen:
case ElementQNameLbrace:
case AttributeQNameLbrace:
case PINCNameLbrace:
case PILbrace:
case CommentLbrace:
case ElementLbrace:
case AttributeLbrace:
case TextLbrace:
case Star:
case NCNameColonStar:
case StarColonNCName:
case Root:
case RootDescendants:
case UnaryMinus:
case UnaryPlus:
case Lpar:
case At:
case Some:
case Every:
case ForVariable:
case LetVariable:
case ValidateLbrace:
case ValidateSchemaMode:
case DocumentLpar:
case DocumentLparForKindTest:
case DocumentLbrace:
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 IfLpar:
case TypeswitchLpar:
case Dot:
case DotDot:
case QNameLpar:
case StartTagOpen:
case StartTagOpenRoot:
case XmlCommentStart:
case XmlCommentStartForElementContent:
case QName:
ExprSingle();
label_24:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case Comma:
;
break;
default:
jj_la1[103] = jj_gen;
break label_24;
}
jj_consume_token(Comma);
ExprSingle();
}
break;
default:
jj_la1[104] = jj_gen;
;
}
jj_consume_token(Rpar);
} 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);
}
}
}