/// This is our top level node. /// { /// entityQuery { fields [, field] }, /// entityQuery { fields [, field] }, /// ... /// } public override DataApiNode VisitDataQuery(EqlGrammerParser.DataQueryContext context) { var root = new DataApiNode("root", null, null, null); // Just visit each child node. All top level will be entityQueries var entities = context.children.Select(c => Visit(c)).ToList(); root.Fields.AddRange(entities.Where(n => n != null)); return(root); }
/// <summary> /// Visit a parse tree produced by <see cref="EqlGrammerParser.dataQuery"/>. /// <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 VisitDataQuery([NotNull] EqlGrammerParser.DataQueryContext context) { return(VisitChildren(context)); }