Exemplo n.º 1
0
        public List <CallGraphNode> GetPostOrder()
        {
            var roots = SimpleGraph.FindRoots(GetNodes().Cast <ISimpleGraphNode>()).Cast <CallGraphNode>();
            var post  = new SDiff.PostOrder();

            foreach (var root in roots)
            {
                post.Visit(root);
            }
            return(post.ordering);
        }
Exemplo n.º 2
0
        public Worklist Make(CallGraph c1, CallGraph c2, Config cfg)
        {
            var c1Roots = SimpleGraph.FindRoots((IEnumerable <ISimpleGraphNode>)c1.GetNodes()).Cast <CallGraphNode>();
            var c2Roots = SimpleGraph.FindRoots((IEnumerable <ISimpleGraphNode>)c2.GetNodes()).Cast <CallGraphNode>();

            if (c1Roots.Count() != c2Roots.Count())
            {
                Log.Out(Log.Urgent, "Unequal number of nodes at root level in worklist construction");
            }

            //for(int i = 0; i < c1Roots.Count; i++)
            //  c1Roots[i].Name
            return(null);
        }