Module IR__Cfg

type t = IR.Procdesc.t IR.Procname.Hash.t

A control-flow graph is a collection of all the CFGs for the procedure names in a file

val get_all_defined_proc_names : t -> IR.Procname.t list

get all the procedure names that are defined in the current file

val store : IBase.SourceFile.t -> t -> unit

Save the individual Procdesc.t and ProcAttributes.t to the database for the procedures in the cfg.

Functions for manipulating an interprocedural CFG

val create : unit -> t

create a new empty cfg

val create_proc_desc : t -> IR.ProcAttributes.t -> IR.Procdesc.t

Create a new procdesc and add it to the cfg

val iter_sorted : t -> f:(IR.Procdesc.t -> unit) -> unit

Iterate over all the proc descs in the cfg in ascending order

val pp_proc_signatures : Stdlib.Format.formatter -> t -> unit