Module InferModules.Callbacks

Module to register and invoke callbacks

type proc_callback_args = {
get_proc_desc : InferIR.Typ.Procname.t ‑> InferIR.Procdesc.t option;
get_procs_in_file : InferIR.Typ.Procname.t ‑> InferIR.Typ.Procname.t list;
tenv : InferIR.Tenv.t;
summary : Summary.t;
proc_desc : InferIR.Procdesc.t;
exe_env : Exe_env.t;
}
type proc_callback_t = proc_callback_args ‑> Summary.t

Type of a procedure callback:

type cluster_callback_args = {
procedures : (InferIR.Tenv.t * InferIR.Procdesc.t) list;
get_proc_desc : InferIR.Typ.Procname.t ‑> InferIR.Procdesc.t option;
exe_env : Exe_env.t;
}
type cluster_callback_t = cluster_callback_args ‑> unit
val register_procedure_callback : ?⁠dynamic_dispatch:bool ‑> InferBase.Language.t ‑> proc_callback_t ‑> unit

register a procedure callback

val register_cluster_callback : InferBase.Language.t ‑> cluster_callback_t ‑> unit

register a cluster callback

val iterate_callbacks : Exe_env.t ‑> unit

Invoke all the registered callbacks.