Esempio n. 1
0
        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)
 {
 }
Esempio n. 3
0
 /// <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));
 }