Beispiel #1
0
 protected TernaryListExpression(IExpression <T1, TContext> condition,
                                 IListExpression <T2, TContext> passExpression, IListExpression <T2, TContext> failExpression)
 {
     Condition      = condition;
     PassExpression = passExpression;
     FailExpression = failExpression;
 }
        public static IListExpression <TType, TContext> ConcatList <TType, TContext>(
            this IListExpression <TType, TContext> expression,
            params IListExpression <TType, TContext>[] expressions)

        {
            return(expressions.Aggregate(expression,
                                         (current, listExpression) => new ConcatList <TType, TContext>(current, listExpression)));
        }
        public virtual void Schedule <TType>(IListExpression <TType, TContext> expression)

        {
            switch (expression)
            {
            case UnaryListExpression <TType, TContext> unaryListExpression:
                Visit(unaryListExpression);
                break;

            case BinaryListExpression <TType, TContext> binaryListExpression:
                Visit(binaryListExpression);
                break;

            case ConditionalListExpression <TType, TContext> ternaryListExpression:
                Visit(ternaryListExpression);
                break;

            case TerminalListExpression <TType, TContext> terminalListExpression:
                Visit(terminalListExpression);
                break;
            }
        }
 public static Count <TType, TContext> Count <TType, TContext>(
     this IListExpression <TType, TContext> expression)
 {
     return(new Count <TType, TContext>(expression));
 }
Beispiel #5
0
 public Append(IListExpression <TType, TContext> expression,
               IExpression <TType, TContext> elementExpression) :
     base(expression)
 {
     ElementExpression = elementExpression;
 }
Beispiel #6
0
 public Last(IListExpression <TType, TContext> expression) : base(expression)
 {
 }
Beispiel #7
0
 public GetValue(IListExpression <TType, TContext> expression,
                 IExpression <int, TContext> indexExpression) :
     base(expression)
 {
     IndexExpression = indexExpression;
 }
 protected BinaryListExpression(IListExpression <TType, TContext> lhs, IListExpression <TType, TContext> rhs)
 {
     Lhs = lhs;
     Rhs = rhs;
 }
Beispiel #9
0
 public Scene()
 {
     Things = new ObservableList <SceneObject>();
     Lights = new ObservableList <Light>();
 }
Beispiel #10
0
 public TakeLast <TType, TContext> TakeLast <TType>(IListExpression <TType, TContext> list,
                                                    IExpression <int, TContext> count)
 {
     return(new TakeLast <TType, TContext>(list, count));
 }
 public static GetValue <TType, TContext> GetValue <TType, TContext>(
     this IListExpression <TType, TContext> expression,
     IExpression <int, TContext> index)
 {
     return(new GetValue <TType, TContext>(expression, index));
 }
Beispiel #12
0
 public Count <TType, TContext> Count <TType>(IListExpression <TType, TContext> list)
 {
     return(new Count <TType, TContext>(list));
 }
Beispiel #13
0
 public Last <TType, TContext> Last <TType>(IListExpression <TType, TContext> list)
 {
     return(new Last <TType, TContext>(list));
 }
Beispiel #14
0
 public First <TType, TContext> First <TType>(IListExpression <TType, TContext> list)
 {
     return(new First <TType, TContext>(list));
 }
Beispiel #15
0
 public ConcatList <TType, TContext> Concat <TType>(IListExpression <TType, TContext> lhs,
                                                    IListExpression <TType, TContext> rhs)
 {
     return(new ConcatList <TType, TContext>(lhs, rhs));
 }
Beispiel #16
0
 public ConditionalListExpression <TType, TContext> ConditionalList <TType>(IExpression <bool, TContext> condition,
                                                                            IListExpression <TType, TContext> passExpression,
                                                                            IListExpression <TType, TContext> failExpression)
 {
     return(new ConditionalListExpression <TType, TContext>(condition, passExpression, failExpression));
 }
 public static TakeLast <TType, TContext> TakeLast <TType, TContext>(
     this IListExpression <TType, TContext> expression,
     IExpression <int, TContext> count)
 {
     return(new TakeLast <TType, TContext>(expression, count));
 }
 /// <summary>
 ///     Constructor to initialise a conditional list expression.
 /// </summary>
 /// <param name="condition">The boolean expression to be evaluated.</param>
 /// <param name="passExpression">The list expression returned on the condition evaluating to true.</param>
 /// <param name="failExpression">The list expression returned on the condition evaluating to false.</param>
 public ConditionalListExpression(IExpression <bool, TContext> condition,
                                  IListExpression <TType, TContext> passExpression, IListExpression <TType, TContext> failExpression) : base(condition,
                                                                                                                                             passExpression, failExpression)
 {
 }
Beispiel #19
0
 public Append <TType, TContext> Append <TType>(IListExpression <TType, TContext> list,
                                                IExpression <TType, TContext> element)
 {
     return(new Append <TType, TContext>(list, element));
 }
Beispiel #20
0
 public TakeFirst(IListExpression <TType, TContext> expression,
                  IExpression <int, TContext> countExpression) :
     base(expression)
 {
     CountExpression = countExpression;
 }
 public static First <TType, TContext> First <TType, TContext>(
     this IListExpression <TType, TContext> expression)
 {
     return(new First <TType, TContext>(expression));
 }
Beispiel #22
0
 public Module(IListExpression list)
 {
     _list = list;
     Checking();
 }
 protected UnaryListIntegerExpression(IListExpression <TType, TContext> expression)
 {
     Expression = expression;
 }
Beispiel #24
0
 public ConcatList(IListExpression <TType, TContext> lhs, IListExpression <TType, TContext> rhs) :
     base(lhs, rhs)
 {
 }