Ejemplo n.º 1
0
        public bool VisitExprFuncCoalesce(ExprFuncCoalesce expr, TCtx arg)
        {
            var res = this.Visit(expr, "FuncCoalesce", arg, out var argOut) && this.Accept("Test", expr.Test, argOut) && this.Accept("Alts", expr.Alts, argOut);

            this._visitor.EndVisitExpr(expr, arg);
            return(res);
        }
Ejemplo n.º 2
0
 //Functions - Known
 public bool VisitExprFuncCoalesce(ExprFuncCoalesce exprFuncCoalesce, IExpr?parent)
 {
     this.Builder.Append("COALESCE(");
     exprFuncCoalesce.Test.Accept(this, exprFuncCoalesce);
     this.Builder.Append(',');
     this.AssertNotEmptyList(exprFuncCoalesce.Alts, "Alt argument list cannot be empty in 'COALESCE' function call");
     this.AcceptListComaSeparated(exprFuncCoalesce.Alts, exprFuncCoalesce);
     this.Builder.Append(')');
     return(true);
 }
Ejemplo n.º 3
0
 public static ExprFuncCoalesce WithAlts(this ExprFuncCoalesce original, IReadOnlyList <ExprValue> newAlts)
 => new ExprFuncCoalesce(test: original.Test, alts: newAlts);
Ejemplo n.º 4
0
 public static ExprFuncCoalesce WithTest(this ExprFuncCoalesce original, ExprValue newTest)
 => new ExprFuncCoalesce(test: newTest, alts: original.Alts);
Ejemplo n.º 5
0
 public TRes VisitExprFuncCoalesce(ExprFuncCoalesce exprFuncCoalesce, ExprValueTypeAnalyzerCtx <TRes, TCtx> ctx)
 {
     return(exprFuncCoalesce.Test.Accept(this, ctx));
 }