public SrndQuery OrQuery()
{
SrndQuery q;
IList<SrndQuery> queries = null;
Token oprt = null;
q = AndQuery();
while (true)
{
switch ((jj_ntk == -1) ? Jj_ntk() : jj_ntk)
{
case RegexpToken.OR:
;
break;
default:
jj_la1[0] = jj_gen;
goto label_2;
}
oprt = Jj_consume_token(RegexpToken.OR);
/* keep only last used operator */
if (queries == null)
{
queries = new List<SrndQuery>();
queries.Add(q);
}
q = AndQuery();
queries.Add(q);
}
label_2:
{ if (true) return (queries == null) ? q : GetOrQuery(queries, true /* infix */, oprt); }
throw new Exception("Missing return statement in function");
}