in jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/query/xpath/XPath.java [2433:2554]
final public void LetClause() throws ParseException {
/*@bgen(jjtree) LetClause */
SimpleNode jjtn000 = new SimpleNode(this, JJTLETCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LetVariable);
SimpleNode jjtn001 = new SimpleNode(this, JJTLETVARIABLE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
jjtree.closeNodeScope(jjtn001, true);
jjtc001 = false;
jjtn001.processToken(token);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
jj_consume_token(VarName);
SimpleNode jjtn002 = new SimpleNode(this, JJTVARNAME);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
try {
jjtree.closeNodeScope(jjtn002, true);
jjtc002 = false;
jjtn002.processToken(token);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case As:
TypeDeclaration();
break;
default:
jj_la1[43] = jj_gen;
;
}
jj_consume_token(ColonEquals);
SimpleNode jjtn003 = new SimpleNode(this, JJTCOLONEQUALS);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
try {
jjtree.closeNodeScope(jjtn003, true);
jjtc003 = false;
jjtn003.processToken(token);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
}
}
ExprSingle();
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case Comma:
;
break;
default:
jj_la1[44] = jj_gen;
break label_11;
}
jj_consume_token(Comma);
jj_consume_token(VariableIndicator);
jj_consume_token(VarName);
SimpleNode jjtn004 = new SimpleNode(this, JJTVARNAME);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
try {
jjtree.closeNodeScope(jjtn004, true);
jjtc004 = false;
jjtn004.processToken(token);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case As:
TypeDeclaration();
break;
default:
jj_la1[45] = jj_gen;
;
}
jj_consume_token(ColonEquals);
SimpleNode jjtn005 = new SimpleNode(this, JJTCOLONEQUALS);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
try {
jjtree.closeNodeScope(jjtn005, true);
jjtc005 = false;
jjtn005.processToken(token);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
}
}
ExprSingle();
}
} 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);
}
}
}