Exemple #1
0
 protected IFCommand UpdateIf(IFCommand ifx, Expression check, Expression ifTrue, Expression ifFalse)
 {
     if (check != ifx.Check || ifTrue != ifx.IfTrue || ifFalse != ifx.IfFalse)
     {
         return(new IFCommand(check, ifTrue, ifFalse));
     }
     return(ifx);
 }
Exemple #2
0
        protected virtual Expression VisitIf(IFCommand ifx)
        {
            var check   = this.Visit(ifx.Check);
            var ifTrue  = this.Visit(ifx.IfTrue);
            var ifFalse = this.Visit(ifx.IfFalse);

            return(this.UpdateIf(ifx, check, ifTrue, ifFalse));
        }
Exemple #3
0
        protected override Expression VisitIf(IFCommand ifx)
        {
            var test =
                Expression.Condition(
                    ifx.Check,
                    ifx.IfTrue,
                    ifx.IfFalse != null
                        ? ifx.IfFalse
                        : ifx.IfTrue.Type == typeof(int)
                            ? (Expression)Expression.Property(this.executor, nameof(QueryExecutor.RowsAffected))
                            : (Expression)Expression.Constant(TypeHelper.GetDefault(ifx.IfTrue.Type), ifx.IfTrue.Type)
                    );

            return(this.Visit(test));
        }
Exemple #4
0
 protected virtual bool CompareIf(IFCommand x, IFCommand y)
 {
     return(this.Compare(x.Check, y.Check) && this.Compare(x.IfTrue, y.IfTrue) && this.Compare(x.IfFalse, y.IfFalse));
 }
Exemple #5
0
 protected override Expression VisitIf(IFCommand ifx)
 {
     throw new NotSupportedException();
 }