public ConditionExpression(IResultExpression <TConditionParameter, bool> condition, IParameterlessResultExpression <TResult> ifExpression, IParameterlessResultExpression <TResult> elseExpression) : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(), elseExpression.GetNativeExpression())) { _parameter = condition.GetParameter(); }
internal BinaryExpression( Func <Native.Expression, Native.Expression, Native.BinaryExpression> nativeExpression, IParameterlessResultExpression <TCurrent> left, IResultExpression <TPrevious, TCurrent> right) : base(nativeExpression(left.GetNativeExpression(), right.GetNativeExpression())) { _container = new SingleParameterCompilableContainer <TPrevious, TResult>(right.GetParameter()); }
public ConstantConditionExpression(IParameterlessResultExpression <bool> condition, IParameterlessResultExpression <TResult> ifExpression, IResultExpression <TParameter, TResult> elseExpression) : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(), elseExpression.GetNativeExpression())) { _container = new SingleParameterCompilableContainer <TParameter, TResult>(elseExpression.GetParameter()); }
public AddExpression(IResultExpression <T, TResult> inner, IParameterlessResultExpression <TResult> constant) : base(Native.BinaryExpression.Add, inner, constant) { }
public GreaterThanExpression(IResultExpression <T, TResult> inner, IParameterlessResultExpression <TResult> constant) : base(Native.BinaryExpression.GreaterThan, inner, constant) { }
public MultiplyExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> inner) : base(Native.BinaryExpression.Multiply, constant, inner) { }
public ConvertExpression(IResultExpression <TPrevious, TCurrent> innerExpression) : base(q => Native.Expression.Convert(q, typeof(TResult)), innerExpression) { }
public static ConvertExpression <TPrevious, TCurrent, int> ConvertToInt <TPrevious, TCurrent>( IResultExpression <TPrevious, TCurrent> inner) where TCurrent : struct => new ConvertExpression <TPrevious, TCurrent, int>(
public EqualExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> inner) : base(Native.BinaryExpression.Equal, constant, inner) { }
public static IncrementExpression <T, TResult> Increment <T, TResult>(IResultExpression <T, TResult> inner) => new IncrementExpression <T, TResult>(inner ?? throw new ArgumentNullException(nameof(inner)));
internal UnaryExpression( Func <Native.Expression, Native.UnaryExpression> nativeExpression, IResultExpression <TPrevious, TCurrent> inner) : base(nativeExpression(inner.GetNativeExpression())) { _container = new SingleParameterCompilableContainer <TPrevious, TResult>(inner.GetParameter()); }
public IncrementExpression(IResultExpression <T, TResult> innerExpression) : base(Native.Expression.Increment, innerExpression) { }
public OrExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> parameter) : base(Native.BinaryExpression.Or, constant, parameter) { }
public NotExpression(IResultExpression <T, TResult> innerExpression) : base(Native.Expression.Not, innerExpression) { }