<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>IR__Cfg (infer.IR__Cfg)</title><linkrel="stylesheet"href="../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.1"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><scriptsrc="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divclass="content"><header><nav><ahref="../index.html">Up</a>–<ahref="../index.html">infer</a>» IR__Cfg</nav><h1>Module <code>IR__Cfg</code></h1><navclass="toc"><ul><li><ahref="#functions-for-manipulating-an-interprocedural-cfg">Functions for manipulating an interprocedural CFG</a></li></ul></nav></header><aside><p>Control Flow Graph for Interprocedural Analysis</p></aside><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = <span><ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a><ahref="../IR__Procname/index.html#module-Hash">IR.Procname.Hash</a>.t</span></code></dt><dd><p>A control-flow graph is a collection of all the CFGs for the procedure names in a file</p></dd></dl><dl><dtclass="spec value"id="val-get_all_defined_proc_names"><ahref="#val-get_all_defined_proc_names"class="anchor"></a><code><spanclass="keyword">val</span> get_all_defined_proc_names : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a> list</span></code></dt><dd><p>get all the procedure names that are defined in the current file</p></dd></dl><dl><dtclass="spec value"id="val-store"><ahref="#val-store"class="anchor"></a><code><spanclass="keyword">val</span> store : <ahref="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt><dd><p>Save the individual <code>Procdesc.t</code> and <code>ProcAttributes.t</code> to the database for the procedures in the cfg.</p></dd></dl><dl><dtclass="spec value"id="val-mem"><ahref="#val-mem"class="anchor"></a><code><spanclass="keyword">val</span> mem : <ahref="index.html#type-t">t</a><span>-></span><ahref="../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span> bool</code></dt></dl><section><header><h3id="functions-for-manipulating-an-interprocedural-cfg"><ahref="#functions-for-manipulating-an-interprocedural-cfg"class="anchor"></a>Functions for manipulating an interprocedural CFG</h3></header><dl><dtclass="spec value"id="val-create"><ahref="#val-create"class="anchor"></a><code><spanclass="keyword">val</span> create : unit <span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>create a new empty cfg</p></dd></dl><dl><dtclass="spec value"id="val-create_proc_desc"><ahref="#val-create_proc_desc"class="anchor"></a><code><spanclass="keyword">val</span> create_proc_desc : <ahref="index.html#type-t">t</a><span>-></span><ahref="../IR/ProcAttributes/index.html#type-t">IR.ProcAttributes.t</a><span>-></span><ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a></code></dt><dd><p>Create a new procdesc and add it to the cfg</p></dd></dl><dl><dtclass="spec value"id="val-iter_sorted"><ahref="#val-iter_sorted"class="anchor"></a><code><spanclass="keyword">val</span> iter_sorted : <ahref="index.html#type-t">t</a><span>-></span><span>f:<span>(<ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a><span>-></span> unit)</span></span><span>-></span> unit</code></dt><dd><p>Iterate over all the proc descs in the cfg in ascending order</p></dd></dl><dl><dtclass="spec value"id="val-pp_proc_signatures"><ahref="#val-pp_proc_signatures"class="anchor"></a><code><spanclass="keyword">val</span> pp_proc_signatures : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl></section></div></body></html>