IList <LogicalCriterion> GetLogicalCriteriaGroups(AgiilQueryParser.LogicalcriteriagroupsContext context) { var subContexts = context.children; var output = new List <LogicalCriterion>(); var currentOperator = default(LogicalOperator); foreach (var child in subContexts) { var logicalCriterion = GetLogicalCriterion(child, currentOperator); if (logicalCriterion != null) { output.Add(logicalCriterion); currentOperator = default(LogicalOperator); continue; } currentOperator = operatorVisitor.Visit(child); } return(output); }
/// <summary> /// Visit a parse tree produced by <see cref="AgiilQueryParser.logicalcriteriagroups"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitLogicalcriteriagroups([NotNull] AgiilQueryParser.LogicalcriteriagroupsContext context) { return(VisitChildren(context)); }