public override DataApiNode VisitField(EqlGrammerParser.FieldContext context) { var name = context.GetText(); if (!_schemaProvider.TypeHasField(_selectContext.Type.Name, name)) { throw new EqlCompilerException($"Type {_selectContext.Type} does not have field or property {name}"); } var actualName = _schemaProvider.GetActualFieldName(_selectContext.Type.Name, name); var fieldExp = _schemaProvider.GetExpressionForField(_selectContext, _selectContext.Type.Name, name); var node = new DataApiNode(actualName, fieldExp, null, null); return(node); }
/// <summary> /// Visit a parse tree produced by <see cref="EqlGrammerParser.field"/>. /// <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 VisitField([NotNull] EqlGrammerParser.FieldContext context) { return(VisitChildren(context)); }