예제 #1
0
        public bool VisitExprCaseWhenThen(ExprCaseWhenThen expr, TCtx arg)
        {
            var res = this.Visit(expr, "CaseWhenThen", arg, out var argOut) && this.Accept("Condition", expr.Condition, argOut) && this.Accept("Value", expr.Value, argOut);

            this._visitor.EndVisitExpr(expr, arg);
            return(res);
        }
예제 #2
0
        public bool VisitExprCaseWhenThen(ExprCaseWhenThen exprCaseWhenThen, IExpr?parent)
        {
            this.Builder.Append("WHEN ");
            exprCaseWhenThen.Condition.Accept(this, exprCaseWhenThen);
            this.Builder.Append(" THEN ");
            exprCaseWhenThen.Value.Accept(this, exprCaseWhenThen);

            return(true);
        }
예제 #3
0
 public static ExprCaseWhenThen WithValue(this ExprCaseWhenThen original, ExprValue newValue)
 => new ExprCaseWhenThen(condition: original.Condition, value: newValue);
예제 #4
0
 public static ExprCaseWhenThen WithCondition(this ExprCaseWhenThen original, ExprBoolean newCondition)
 => new ExprCaseWhenThen(condition: newCondition, value: original.Value);
예제 #5
0
 public TRes VisitExprCaseWhenThen(ExprCaseWhenThen exprCaseWhenThen, ExprValueTypeAnalyzerCtx <TRes, TCtx> ctx)
 {
     return(exprCaseWhenThen.Value.Accept(this, ctx));
 }