Example #1
0
        public CSharpSyntaxNode Convert(ForStatement node)
        {
            ForStatementSyntax csForStatement = SyntaxFactory.ForStatement(node.Statement.ToCsNode <StatementSyntax>());

            Node initializer = node.Initializer;

            if (initializer != null)
            {
                if (initializer.Kind == NodeKind.VariableDeclarationList)
                {
                    csForStatement = csForStatement.WithDeclaration(initializer.ToCsNode <VariableDeclarationSyntax>());
                }
                else
                {
                    csForStatement = csForStatement.AddInitializers(node.Initializers.ToCsNodes <ExpressionSyntax>());
                }
            }

            if (node.Condition != null)
            {
                csForStatement = csForStatement.WithCondition(node.Condition.ToCsNode <ExpressionSyntax>());
            }

            if (node.Incrementors != null)
            {
                csForStatement = csForStatement.AddIncrementors(node.Incrementors.ToCsNodes <ExpressionSyntax>());
            }

            return(csForStatement);
        }