/// 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);
            }
Beispiel #2
0
 /// <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));
 }