Backend.Ondemand
Module for on-demand analysis.
val analyze_proc_name :
Absint.Exe_env.t ->
IBase.AnalysisRequest.t ->
?specialization:IR.Specialization.t ->
caller_summary:Summary.t ->
IR.Procname.t ->
Summary.t Absint.AnalysisResult.t
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 ->
IBase.AnalysisRequest.t ->
IR.Procname.t ->
Summary.t Absint.AnalysisResult.t
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.AnalysisRequest.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 ->
IBase.AnalysisRequest.t ->
IR.Procname.t ->
unit
Invoke all the callbacks registered in Callbacks
on the given procedure.
val edges_to_ignore :
IR.Procname.Set.t IR.Procname.Map.t option IStdlib.IStd.ref
used by the replay analysis to cut mutual recursion cycles in the same places again