From: Mehdi Dogguy Date: Wed, 16 May 2012 14:48:40 +0200 Subject: Port to OCamlgraph 1.8.2 o Graph.Topological: as of OCamlgraph 1.8.2, the input graph must implement Sig.COMPARABLE instead of Sig.HASHABLE --- src/misc/service_graph.ml | 2 +- src/misc/service_graph.mli | 2 +- src/semantic_callgraph/register.ml | 1 + src/syntactic_callgraph/register.ml | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml index f30a1be..567698f 100644 --- a/src/misc/service_graph.ml +++ b/src/misc/service_graph.ml @@ -24,7 +24,7 @@ module Make (G: sig type t module V: sig - include Graph.Sig.HASHABLE + include Graph.Sig.COMPARABLE val id: t -> int val name: t -> string val attributes: t -> Graph.Graphviz.DotAttributes.vertex list diff --git a/src/misc/service_graph.mli b/src/misc/service_graph.mli index 5ebb570..8006977 100644 --- a/src/misc/service_graph.mli +++ b/src/misc/service_graph.mli @@ -28,7 +28,7 @@ module Make (G: sig type t module V: sig - include Graph.Sig.HASHABLE + include Graph.Sig.COMPARABLE val id: t -> int (** assume is >= 0 and unique for each vertices of the graph *) val name: t -> string diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml index 0b3b4df..064dca8 100644 --- a/src/semantic_callgraph/register.ml +++ b/src/semantic_callgraph/register.ml @@ -107,6 +107,7 @@ module Service = (if Kernel_function.is_definition v then `Bold else `Dotted) ] let equal = Kernel_function.equal + let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) let hash = Kernel_function.hash let entry_point () = try Some (fst (Globals.entry_point ())) diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml index 4efb594..d9d78b9 100644 --- a/src/syntactic_callgraph/register.ml +++ b/src/syntactic_callgraph/register.ml @@ -41,6 +41,7 @@ module Service = | NIVar (_,b) when not !b -> `Style `Dotted | _ -> `Style `Bold ] let equal v1 v2 = id v1 = id v2 + let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) let hash = id let entry_point () = !entry_point_ref end --