Module Backend.Ondemand

Module for on-demand analysis.

val analyze_proc_name : Absint.Exe_env.t -> ?specialization:IR.Specialization.t -> caller_summary:Summary.t -> IR.Procname.t -> Summary.t option

analyze_proc_name exe_env ~caller_summary callee_pname performs an on-demand analysis of callee_pname triggered during the analysis of caller_summary If specialization is given, the callee is requesting a specialization.

val analyze_proc_name_for_file_analysis : Absint.Exe_env.t -> IR.Procname.t -> Summary.t option

analyze_proc_name_for_file_analysis exe_env callee_pname performs an on-demand analysis of callee_pname as triggered by a file-level checker. This must not be used in any other context, as this will break incremental analysis.

val analyze_file : Absint.Exe_env.t -> IBase.SourceFile.t -> unit

Invoke all the callbacks registered in Callbacks on the given file.

val analyze_proc_name_toplevel : Absint.Exe_env.t -> IR.Procname.t -> unit

Invoke all the callbacks registered in Callbacks on the given procedure.

used by the replay analysis to cut mutual recursion cycles in the same places again