You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
3.9 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>IR__Cfg (infer.IR__Cfg)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">infer</a> &#x00BB; IR__Cfg</nav><h1>Module <code>IR__Cfg</code></h1><nav class="toc"><ul><li><a href="#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><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <span><a href="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> <a href="../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><dt class="spec value" id="val-get_all_defined_proc_names"><a href="#val-get_all_defined_proc_names" class="anchor"></a><code><span class="keyword">val</span> get_all_defined_proc_names : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="../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><dt class="spec value" id="val-store"><a href="#val-store" class="anchor"></a><code><span class="keyword">val</span> store : <a href="../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</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><dt class="spec value" id="val-mem"><a href="#val-mem" class="anchor"></a><code><span class="keyword">val</span> mem : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> bool</code></dt></dl><section><header><h3 id="functions-for-manipulating-an-interprocedural-cfg"><a href="#functions-for-manipulating-an-interprocedural-cfg" class="anchor"></a>Functions for manipulating an interprocedural CFG</h3></header><dl><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>create a new empty cfg</p></dd></dl><dl><dt class="spec value" id="val-create_proc_desc"><a href="#val-create_proc_desc" class="anchor"></a><code><span class="keyword">val</span> create_proc_desc : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../IR/ProcAttributes/index.html#type-t">IR.ProcAttributes.t</a> <span>&#45;&gt;</span> <a href="../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><dt class="spec value" id="val-iter_sorted"><a href="#val-iter_sorted" class="anchor"></a><code><span class="keyword">val</span> iter_sorted : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>f:<span>(<a href="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> <span>&#45;&gt;</span> unit)</span></span> <span>&#45;&gt;</span> unit</code></dt><dd><p>Iterate over all the proc descs in the cfg in ascending order</p></dd></dl><dl><dt class="spec value" id="val-pp_proc_signatures"><a href="#val-pp_proc_signatures" class="anchor"></a><code><span class="keyword">val</span> pp_proc_signatures : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt></dl></section></div></body></html>