public void Traverse(IEnumerable <Signal> rootSignals, IScanVisitor visitor, bool ignoreHold) { //lock(??) { ScanStrategy strat = ProvideExecutableInstance(); strat._activeScans++; //} try { strat.DoTraverse(rootSignals, visitor, ignoreHold); } finally { strat._activeScans--; } }
public static void Traverse(IEnumerable<Signal> rootSignals, ScanStrategy strategy, IScanVisitor visitor, bool ignoreHold) { if(strategy == null) throw new ArgumentNullException("strategy"); strategy.Traverse(rootSignals, visitor, ignoreHold); }
public static void Traverse(Port rootPort, ScanStrategy strategy, IScanVisitor visitor, bool ignoreHold) { if(strategy == null) throw new ArgumentNullException("strategy"); strategy.Traverse(rootPort, visitor, ignoreHold); }