public override object VisitBoolean_comparison_expression([NotNull] KoraliumParser.Boolean_comparison_expressionContext context) { var typeNode = context.boolean_comparison_type(); if (typeNode == null) { throw new SqlParserException("Boolean comparison without any type"); } var comparisionOperation = typeNode.GetText(); BooleanComparisonType booleanComparisonType = BooleanComparisonType.Equals; switch (comparisionOperation) { case "=": case "==": booleanComparisonType = BooleanComparisonType.Equals; break; case ">": booleanComparisonType = BooleanComparisonType.GreaterThan; break; case "<": booleanComparisonType = BooleanComparisonType.LessThan; break; case ">=": case "!<": booleanComparisonType = BooleanComparisonType.GreaterThanOrEqualTo; break; case "!=": case "<>": booleanComparisonType = BooleanComparisonType.NotEqualTo; break; case "<=": case "!>": booleanComparisonType = BooleanComparisonType.LessThanOrEqualTo; break; } return(new BooleanComparisonExpression() { Left = Visit(context.left) as ScalarExpression, Right = Visit(context.right) as ScalarExpression, Type = booleanComparisonType }); }
/// <summary> /// Exit a parse tree produced by <see cref="KoraliumParser.boolean_comparison_expression"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitBoolean_comparison_expression([NotNull] KoraliumParser.Boolean_comparison_expressionContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="KoraliumParser.boolean_comparison_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 VisitBoolean_comparison_expression([NotNull] KoraliumParser.Boolean_comparison_expressionContext context) { return(VisitChildren(context)); }