public override IASTNode VisitExpr(MySqlCommandParser.ExprContext ctx)
 {
     if (null != ctx.booleanPrimary())
     {
         return(Visit(ctx.booleanPrimary()));
     }
     if (null != ctx.logicalOperator())
     {
         return(new PredicateBuilder(Visit(ctx.expr(0)), Visit(ctx.expr(1)), ctx.logicalOperator().GetText()).MergePredicate());
     }
     // TODO deal with XOR
     return(Visit(ctx.expr()[0]));
 }
Example #2
0
 public override IASTNode VisitAssignmentValue(MySqlCommandParser.AssignmentValueContext ctx)
 {
     MySqlCommandParser.ExprContext expr = ctx.expr();
     if (null != expr)
     {
         IASTNode result = Visit(expr);
         if (result is ColumnSegment)
         {
             return(new CommonExpressionSegment(ctx.Start.StartIndex, ctx.Stop.StopIndex, ctx.GetText()));
         }
         else
         {
             return(result);
         }
     }
     return(new CommonExpressionSegment(ctx.Start.StartIndex, ctx.Stop.StopIndex, ctx.GetText()));
 }