This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!DOCTYPE html>
<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>