Module InferModules.Callbacks
type proc_callback_args={get_procs_in_file : InferIR.Typ.Procname.t -> InferIR.Typ.Procname.t list;summary : Summary.t;exe_env : Exe_env.t;}type proc_callback_t= proc_callback_args -> Summary.tType of a procedure callback:
- List of all the procedures the callback will be called on.
- get_proc_desc to get a proc desc from a proc name
- Type environment.
- Procedure for the callback to act on.
type cluster_callback_args={procedures : (InferIR.Tenv.t * Summary.t) list;source_file : InferBase.SourceFile.t;exe_env : Exe_env.t;}type cluster_callback_t= cluster_callback_args -> unit
val register_procedure_callback : name:string -> ?dynamic_dispatch:bool -> InferBase.Language.t -> proc_callback_t -> unitregister a procedure callback
val register_cluster_callback : name:string -> InferBase.Language.t -> cluster_callback_t -> unitregister a cluster callback
val iterate_procedure_callbacks : Exe_env.t -> Summary.t -> Summary.tInvoke all registered procedure callbacks on the given procedure.
val iterate_cluster_callbacks : InferIR.Typ.Procname.t InferStdlib.IStd.sexp_list -> Exe_env.t -> InferBase.SourceFile.t -> unitInvoke all registered cluster callbacks on a cluster of procedures.