public override AstNode VisitForStatement(ForStatement forStatement) { if (forStatement.EmbeddedStatement is BlockStatement) { return(base.VisitForStatement(forStatement)); } var clonForStatement = (ForStatement)base.VisitForStatement(forStatement); if (clonForStatement != null) { forStatement = clonForStatement; } if (!(forStatement.EmbeddedStatement is BlockStatement)) { var l = (ForStatement)forStatement.Clone(); var block = new BlockStatement(); block.Statements.Add(l.EmbeddedStatement.Clone()); l.EmbeddedStatement = block; return(l); } return(forStatement.Clone()); }
public override AstNode VisitForStatement(ForStatement forStatement) { var visitor = new LambdaVisitor(); forStatement.EmbeddedStatement.AcceptVisitor(visitor); if (visitor.LambdaExpression.Count == 0 && forStatement.EmbeddedStatement is BlockStatement) { return(base.VisitForStatement(forStatement)); } var clonForStatement = (ForStatement)base.VisitForStatement(forStatement); if (clonForStatement != null) { forStatement = clonForStatement; } if (!(forStatement.EmbeddedStatement is BlockStatement)) { var l = (ForStatement)forStatement.Clone(); var block = new BlockStatement(); block.Statements.Add(l.EmbeddedStatement.Clone()); l.EmbeddedStatement = block; return(l); } return(forStatement.Clone()); }