Exemplo n.º 1
0
 public override sealed void VisitLogNodes(IDependencyAnalyzerLogNodeVisitor<DependencyContextType> logNodeVisitor)
 {
     foreach (DependencyNodeCore<DependencyContextType> node in MarkedNodesEnumerable())
     {
         logNodeVisitor.VisitNode(node);
     }
     _marker.VisitLogNodes(MarkedNodesEnumerable(), logNodeVisitor);
 }
Exemplo n.º 2
0
        void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogNodes(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogNodeVisitor logNodeVisitor)
        {
            HashSet <Tuple <DependencyNode, DependencyNode> > combinedNodesReported = new HashSet <Tuple <DependencyNode, DependencyNode> >();

            if (_reasonStringOnlyNodes != null)
            {
                foreach (string reasonOnly in _reasonStringOnlyNodes)
                {
                    logNodeVisitor.VisitRootNode(reasonOnly);
                }
            }

            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)
                        {
                            Tuple <DependencyNode, DependencyNode> combinedNode = new Tuple <DependencyNode, DependencyNode>(markData.Reason1, markData.Reason2);

                            if (!combinedNodesReported.Contains(combinedNode))
                            {
                                logNodeVisitor.VisitCombinedNode(combinedNode);
                            }
                        }
                    }
                }
            }
        }
 /// <summary>
 /// Used to walk all nodes that should be emitted to a log. Not intended for other purposes.
 /// </summary>
 /// <param name="logNodeVisitor"></param>
 public abstract void VisitLogNodes(IDependencyAnalyzerLogNodeVisitor <DependencyContextType> logNodeVisitor);
Exemplo n.º 4
0
 void IDependencyAnalysisMarkStrategy <DependencyContextType> .VisitLogNodes(IEnumerable <DependencyNodeCore <DependencyContextType> > nodeList, IDependencyAnalyzerLogNodeVisitor <DependencyContextType> logNodeVisitor)
 {
     // This marker does not permit logging.
     return;
 }
Exemplo n.º 5
0
 /// <summary>
 /// Used to walk all nodes that should be emitted to a log. Not intended for other purposes.
 /// </summary>
 /// <param name="logNodeVisitor"></param>
 public abstract void VisitLogNodes(IDependencyAnalyzerLogNodeVisitor logNodeVisitor);