public override object VisitSelect_expression([NotNull] KoraliumParser.Select_expressionContext context) { if (context.STAR() != null) { return(new SelectStarExpression()); } if (context.NULL() != null) { return(new SelectNullExpression()); } var scalarExpressionNode = context.scalar_expression(); var scalarExpression = Visit(scalarExpressionNode) as ScalarExpression; if (scalarExpression == null) { throw new SqlParserException("Could not parse scalar expression"); } string alias = null; var aliasNode = context.column_alias(); if (aliasNode != null) { alias = aliasNode.GetText(); } return(new SelectScalarExpression() { Alias = alias, Expression = scalarExpression }); }
/// <summary> /// Exit a parse tree produced by <see cref="KoraliumParser.select_expression"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitSelect_expression([NotNull] KoraliumParser.Select_expressionContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="KoraliumParser.select_expression"/>. /// <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 VisitSelect_expression([NotNull] KoraliumParser.Select_expressionContext context) { return(VisitChildren(context)); }