public static void RecursiveAccept(IVersionControlNode hostingNode, IVersionControlTreeVisitor visitor) { visitor.OnEntry(hostingNode); // ReSharper disable ForCanBeConvertedToForeach -- might cause a concurrency issue. TODO for (var i = 0; i < hostingNode.Children.Count; i++) // ReSharper restore ForCanBeConvertedToForeach { hostingNode.Children[i].RecursiveAccept(visitor); } visitor.OnExit(hostingNode); }
void IVersionControlNode.Accept(IVersionControlTreeVisitor visitor) { Contract.Requires(visitor != null); //Contract.Ensures(visitor is run on all children). }
void IVersionControlNode.RecursiveAccept(IVersionControlTreeVisitor visitor) { Contract.Requires(visitor != null); }
public void RecursiveAccept(IVersionControlTreeVisitor visitor) { throw new NotImplementedException(); }
public static void Accept(IVersionControlNode hostingNode, IVersionControlTreeVisitor visitor) { visitor.OnFirstEntry(); hostingNode.RecursiveAccept(visitor); visitor.OnLastExit(); }
public void RecursiveAccept(IVersionControlTreeVisitor visitor) { VisitorBehavior.RecursiveAccept(this, visitor); }