public override sealed void VisitLogEdges(IDependencyAnalyzerLogEdgeVisitor<DependencyContextType> logEdgeVisitor) { _marker.VisitLogEdges(MarkedNodesEnumerable(), logEdgeVisitor); }
void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogEdges(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogEdgeVisitor logEdgeVisitor) { foreach (DependencyNodeCore <DependencyContextType> node in nodeList) { if (node.Marked) { HashSet <MarkData> nodeReasons = (HashSet <MarkData>)node.GetMark(); foreach (MarkData markData in nodeReasons) { if (markData.Reason2 != null) { Debug.Assert(markData.Reason1 != null); logEdgeVisitor.VisitEdge(markData.Reason1, markData.Reason2, node, markData.Reason); } else if (markData.Reason1 != null) { logEdgeVisitor.VisitEdge(markData.Reason1, node, markData.Reason); } else { Debug.Assert(markData.Reason != null); logEdgeVisitor.VisitEdge(markData.Reason, node); } } } } }
/// <summary> /// Used to walk the logical edges in the graph as part of log building. /// </summary> /// <param name="logEdgeVisitor"></param> public abstract void VisitLogEdges(IDependencyAnalyzerLogEdgeVisitor <DependencyContextType> logEdgeVisitor);
void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogEdges(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogEdgeVisitor <DependencyContextType> logEdgeVisitor) { // This marker does not permit logging. return; }
/// <summary> /// Used to walk the logical edges in the graph as part of log building. /// </summary> /// <param name="logEdgeVisitor"></param> public abstract void VisitLogEdges(IDependencyAnalyzerLogEdgeVisitor logEdgeVisitor);