Procedure summaries: the results of the capture and all the analysis for a single procedure, plus some statistics
module Stats : sig ... endmodule Status : sig ... endtype t = {payloads : Payloads.t; | |
sessions : int InferStdlib.IStd.ref; | (** Session number: how many nodes went through symbolic execution *) |
stats : Stats.t; | |
status : Status.t; | |
proc_desc : InferIR.Procdesc.t; |
}summary of a procedure name
val has_model : InferIR.Typ.Procname.t ‑> boolCheck if a summary for a given procedure exists in the models directory
val get_proc_desc : t ‑> InferIR.Procdesc.tval get_formals : t ‑> (InferIR.Mangled.t * InferIR.Typ.t) listGet the formal parameters of the procedure
val get_err_log : t ‑> InferIR.Errlog.tval get_loc : t ‑> InferBase.Location.tval get_unsafe : InferIR.Typ.Procname.t ‑> tval reset : InferIR.Procdesc.t ‑> tReset a summary rebuilding the dependents and preserving the proc attributes if present.
val load_from_file : InferBase.DB.filename ‑> t optionval pp_html : InferBase.SourceFile.t ‑> InferStdlib.Pp.color ‑> Format.formatter ‑> t ‑> unitPrint the summary in html format
val pdesc_resolve_attributes : InferIR.Procdesc.t ‑> InferIR.ProcAttributes.tLike proc_resolve_attributes but start from a proc_desc.
val proc_resolve_attributes : InferIR.Typ.Procname.t ‑> InferIR.ProcAttributes.t optionTry 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 ‑> boolCheck if the procedure is from a library: It's not defined, and there is no spec file for it.