Module InferIR__Cfg
Control Flow Graph for Interprocedural Analysis
type t
= InferIR.Procdesc.t InferIR.Typ.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 -> InferIR.Typ.Procname.t list
get all the procedure names that are defined in the current file
val store : InferBase.SourceFile.t -> t -> unit
Save the individual
Procdesc.t
andProcAttributes.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 -> InferIR.ProcAttributes.t -> InferIR.Procdesc.t
Create a new procdesc and add it to the cfg
val iter_sorted : t -> f:(InferIR.Procdesc.t -> unit) -> unit
Iterate over all the proc descs in the cfg in ascending order
val inline_java_synthetic_methods : t -> unit
Inline the java synthetic methods in the cfg (in-place)
val pp_proc_signatures : Stdlib.Format.formatter -> t -> unit