module Register: sig
.. end
add the entry point as root
module KfSorted: sig
.. end
module SetKfSorted: FCSet.Make
(
KfSorted
)
module SGraph: Graph.Imperative.Digraph.ConcreteLabeled
(
KfSorted
)
(
sig
end
)
module SGState: State_builder.Option_ref
(
Datatype.Make
(
sig
end
)
)
(
sig
val name : string
val dependencies : State.t list
end
)
module SCQueue: State_builder.Queue
(
Kernel_function
)
(
sig
val name : string
val dependencies : State.t list
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
end
)
module ServiceState: State_builder.Option_ref
(
Service.CallG.Datatype
)
(
sig
val name : string
val dependencies : State.t list
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
val is_local_or_formal_of_caller : Base.t -> SGraph.vertex -> bool
val accept_base : with_formals:bool ->
with_locals:bool -> SGraph.vertex -> Base.t -> bool