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); }
//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); }
public static ExprFuncCoalesce WithAlts(this ExprFuncCoalesce original, IReadOnlyList <ExprValue> newAlts) => new ExprFuncCoalesce(test: original.Test, alts: newAlts);
public static ExprFuncCoalesce WithTest(this ExprFuncCoalesce original, ExprValue newTest) => new ExprFuncCoalesce(test: newTest, alts: original.Alts);
public TRes VisitExprFuncCoalesce(ExprFuncCoalesce exprFuncCoalesce, ExprValueTypeAnalyzerCtx <TRes, TCtx> ctx) { return(exprFuncCoalesce.Test.Accept(this, ctx)); }