equal
deleted
inserted
replaced
854 in x ^ " called by " ^ y ^ "\n" ^ string_of_cycle (b :: cs) end |
854 in x ^ " called by " ^ y ^ "\n" ^ string_of_cycle (b :: cs) end |
855 | string_of_cycle _ = "" |
855 | string_of_cycle _ = "" |
856 in |
856 in |
857 if module = "" then |
857 if module = "" then |
858 let |
858 let |
859 val modules = distinct (map (#2 o snd) code); |
859 val modules = gen_distinct (op =) (map (#2 o snd) code); |
860 val mod_gr = foldr (uncurry Graph.add_edge_acyclic) |
860 val mod_gr = foldr (uncurry Graph.add_edge_acyclic) |
861 (foldr (uncurry (Graph.new_node o rpair ())) Graph.empty modules) |
861 (foldr (uncurry (Graph.new_node o rpair ())) Graph.empty modules) |
862 (List.concat (map (fn (s, (_, module, _)) => map (pair module) |
862 (List.concat (map (fn (s, (_, module, _)) => map (pair module) |
863 (filter_out (equal module) (map (#2 o Graph.get_node gr) |
863 (filter_out (equal module) (map (#2 o Graph.get_node gr) |
864 (Graph.imm_succs gr s)))) code)); |
864 (Graph.imm_succs gr s)))) code)); |