Module Summary.OnDisk

val has_model : InferIR.Typ.Procname.t -> bool

Check if a summary for a given procedure exists in the models directory

val clear_cache : unit -> unit

Remove all the elements from the cache of summaries

val remove_from_cache : InferIR.Typ.Procname.t -> unit

Remove an element from the cache of summaries. Contrast to reset which re-initializes a summary keeping the same Procdesc and updates the cache accordingly.

val get : InferIR.Typ.Procname.t -> t option

Return the summary option for the procedure name

val reset : InferIR.Procdesc.t -> t

Reset a summary rebuilding the dependents and preserving the proc attributes if present.

val specs_filename_of_procname : InferIR.Typ.Procname.t -> InferBase.DB.filename

Return the path to the .specs file for the given procedure in the current results directory

val load_from_file : InferBase.DB.filename -> t option

Load procedure summary from the given file

val proc_resolve_attributes : InferIR.Typ.Procname.t -> InferIR.ProcAttributes.t option

Try to find the attributes for a defined proc. First look at specs (to get attributes computed by analysis) then look at the attributes table. If no attributes can be found, return None.

val proc_is_library : InferIR.ProcAttributes.t -> bool

Check if the procedure is from a library: It's not defined, and there is no spec file for it.

val store : t -> unit

Save summary for the procedure into the spec database

val reset_all : filter:InferIR.Filtering.procedures_filter -> unit -> unit
val dummy : t

dummy summary for testing