private void CheckPlusMinusParenthesizes(ExprValue exp, IExpr?parent)
 {
     if (exp is ExprSum || exp is ExprSub)
     {
         this.Builder.Append('(');
         exp.Accept(this, parent);
         this.Builder.Append(')');
     }
     else
     {
         exp.Accept(this, parent);
     }
 }
 public static ExprValueTypeDetails GetTypeDetails(this ExprValue exprValue)
 {
     return(exprValue
            .Accept(
                ExprValueTypeAnalyzer <ExprValueTypeDetails, object?> .Instance,
                new ExprValueTypeAnalyzerCtx <ExprValueTypeDetails, object?>(
                    null,
                    ExprValueTypeDetailsVisitor.Instance)));
 }
 public static bool?IsNullValue(this ExprValue exprValue)
 {
     return(exprValue
            .Accept(
                ExprValueTypeAnalyzer <bool?, object?> .Instance,
                new ExprValueTypeAnalyzerCtx <bool?, object?>(
                    null,
                    ExprValueTypeIsNullVisitor.Instance)));
 }
 protected override void AppendSelectLimit(ExprValue top, IExpr?parent)
 {
     this.Builder.Append(" LIMIT ");
     top.Accept(this, parent);
 }
 protected override void AppendSelectTop(ExprValue top, IExpr?parent)
 {
     this.Builder.Append("TOP ");
     top.Accept(this, top);
     this.Builder.Append(' ');
 }