void ProcessElements() { for (int i = 0; i < Elements.Count; i++) { var expr = Elements[i]; if (expr is ReturnExpression) { if (Method.ReturnType.ToReflectionType() != typeof (void)) expr.Populate(); } else if (expr is ConditionalBranchExpression) { expr.Populate(); if ((expr as ConditionalBranchExpression).IsForLoop(Method)) { var branch = expr; Elements[i] = new ForLoopStatement(expr.AssociatedInstruction); expr = Elements[i]; (expr as ForLoopStatement).Condition = branch as Expression; expr.Previous = branch.Previous; expr.Next = branch.Next; expr.Populate(); } } else expr.Populate(); } }
public override void Visit(ForLoopStatement statement) { throw new NotImplementedException(); }
public override void Visit(ForLoopStatement statement) { }
public abstract void Visit(ForLoopStatement statement);