module Register: sig
.. end
module H: Hashtbl
module SGraph: Graph.Imperative.Digraph.ConcreteLabeled
(
sig
type
t = Kernel_function.t
val equal : Kernel_function.t -> Kernel_function.t -> bool
val hash : Kernel_function.t -> int
val compare : Kernel_function.t -> Kernel_function.t -> int
end
)
(
sig
end
)
module SGState: State_builder.Option_ref
(
Datatype.Make
(
sig
end
)
)
(
sig
end
)
module SCQueue: State_builder.Queue
(
Kernel_function
)
(
sig
end
)
val callgraph : unit -> SGState.data
module Service: Service_graph.Make
(
sig
val datatype_name : string
type
t = Register.SGraph.t
module V: sig
.. end
val iter_vertex : (Register.SGraph.vertex -> unit) -> Register.SGraph.t -> unit
val iter_succ : (Register.SGraph.vertex -> unit) ->
Register.SGraph.t -> Register.SGraph.vertex -> unit
val iter_pred : (Register.SGraph.vertex -> unit) ->
Register.SGraph.t -> Register.SGraph.vertex -> unit
val fold_pred : (Register.SGraph.vertex -> 'a -> 'a) ->
Register.SGraph.t -> Register.SGraph.vertex -> 'a -> 'a
val in_degree : Register.SGraph.t -> Register.SGraph.vertex -> int
end
)
module ServiceState: State_builder.Option_ref
(
Service.CallG.Datatype
)
(
sig
end
)
val get_init_funcs : unit -> Datatype.String.Set.t
val compute : unit -> Service.CallG.t
val get : unit -> ServiceState.data
val dump : unit -> unit
val topologically_iter_on_functions : (SCQueue.elt -> unit) -> unit
val iter_on_callers : (SGraph.vertex -> 'a) -> SGraph.vertex -> unit