<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Topl (infer.TOPLlib.Topl)</title><linkrel="stylesheet"href="../../../odoc.css"/><metacharset="utf-8"/><metaname="generator"content="odoc 1.5.2"/><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>»<ahref="../index.html">TOPLlib</a>» Topl</nav><h1>Module <code>TOPLlib.Topl</code></h1></header><dl><dtclass="spec value"id="val-automaton"><ahref="#val-automaton"class="anchor"></a><code><spanclass="keyword">val</span> automaton : unit <span>-></span><ahref="../ToplAutomaton/index.html#type-t">ToplAutomaton.t</a></code></dt><dd><p>Return the automaton representing all Topl properties.</p></dd></dl><dl><dtclass="spec value"id="val-is_shallow_active"><ahref="#val-is_shallow_active"class="anchor"></a><code><spanclass="keyword">val</span> is_shallow_active : unit <span>-></span> bool</code></dt><dd><p>Return whether the Topl based on Sil instrumentation is active.</p></dd></dl><dl><dtclass="spec value"id="val-is_deep_active"><ahref="#val-is_deep_active"class="anchor"></a><code><spanclass="keyword">val</span> is_deep_active : unit <span>-></span> bool</code></dt><dd><p>Return whether PulseTopl is active.</p></dd></dl><dl><dtclass="spec value"id="val-get_proc_attr"><ahref="#val-get_proc_attr"class="anchor"></a><code><spanclass="keyword">val</span> get_proc_attr : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><span><ahref="../../IR/ProcAttributes/index.html#type-t">IR.ProcAttributes.t</a> option</span></code></dt><dd><p><code>get_proc_attr proc_name</code> returns the attributes of <code>get_proc_desc proc_name</code></p></dd></dl><dl><dtclass="spec value"id="val-get_proc_desc"><ahref="#val-get_proc_desc"class="anchor"></a><code><spanclass="keyword">val</span> get_proc_desc : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><span><ahref="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> option</span></code></dt><dd><p>Return a synthesized Procdesc.t, when it corresponds to instrumentation for a TOPL property.</p></dd></dl><dl><dtclass="spec value"id="val-sourcefile"><ahref="#val-sourcefile"class="anchor"></a><code><spanclass="keyword">val</span> sourcefile : unit <span>-></span><ahref="../../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a></code></dt><dd><p>The (fake) sourcefile in which synthesized code resides. This function has a side-effect, because that's how <code>SourceFile</code> works, so do NOT call when Topl is inactive.</p></dd></dl><dl><dtclass="spec value"id="val-cfg"><ahref="#val-cfg"class="anchor"></a><code><spanclass="keyword">val</span> cfg : unit <span>-></span><ahref="../../IR/Cfg/index.html#type-t">IR.Cfg.t</a></code></dt><dd><p>The CFG of the synthesized code. This function has a side-effect, because that's how <code>Cfg</code> works, so do NOT call when Topl is inactive.</p></dd></dl><dl><dtclass="spec type"id="type-analysis"><ahref="#type-analysis"class="anchor"></a><code><spanclass="keyword">type</span><span>'summary analysis</span></code><code> = <span><spanclass="type-var">'summary</span><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><spanclass="type-var">'summary</span> option</span></code></dt><dtclass="spec type"id="type-postprocess"><ahref="#type-postprocess"class="anchor"></a><code><spanclass="keyword">type</span><span>'summary postprocess</span></code><code> = <span><spanclass="type-var">'summary</span><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><spanclass="type-var">'summary</span><span>-></span> unit</code></dt><dtclass=