Ejemplo n.º 1
0
        public ForStatement(
            List <Statement> statements,
            string identifier,
            Expression source,
            Expression limit,
            Expression offset,
            bool reversed,
            ElseStatement elseStatement = null
            ) : base(statements)
        {
            Identifier = identifier;
            Source     = source;
            Limit      = limit;
            Offset     = offset;
            Reversed   = reversed;
            Else       = elseStatement;

            _isContinueOffset      = Offset is MemberExpression l && l.Segments.Count == 1 && ((IdentifierSegment)l.Segments[0]).Identifier == "continue";
            _continueOffsetLiteral = source is MemberExpression m ? "for_continue_" + ((IdentifierSegment)m.Segments[0]).Identifier : null;
        }