Ejemplo n.º 1
0
        /// <inheritdoc cref="UnaryExpression.Update(Expression)" select="summary"/>
        public ForExpression Update(ParameterExpression variable, Expression initializer, Expression test, Expression step, Expression body, LabelTarget breakTarget, LabelTarget continueTarget)
        {
            if (Variable == variable && Initializer == initializer && Test == test && Step == step && Body == body && BreakLabel == breakTarget && ContinueLabel == continueTarget)
            {
                return(this);
            }

            return(Expressive.For(variable, initializer, test, step, body, breakTarget, continueTarget));
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        public override Expression VisitForLoopStatement(IForLoopStatement operation, LocalBinder argument)
        {
            LocalBinder binder = argument.Child();
            ImmutableArray <IOperation> before = operation.Before;

            Expression[] expressions = new Expression[before.Length + 1];

            for (int i = 0; i < before.Length; i++)
            {
                expressions[i] = before[i].Accept(this, argument);
            }

            expressions[before.Length] = Expressive.For(


                );

            return(Expression.Block(

                       expressions
                       ));
        }