<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.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>»<ahref="../index.html">TOPLlib</a>» Topl</nav><h1>Module <code>TOPLlib.Topl</code></h1></header><dl><dtclass="spec value"id="val-is_active"><ahref="#val-is_active"class="anchor"></a><code><spanclass="keyword">val</span> is_active : unit <span>-></span> bool</code></dt><dd><p>Returns whether the TOPL analysis 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>Returns 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 value"id="val-analyze_with_biabduction"><ahref="#val-analyze_with_biabduction"class="anchor"></a><code><spanclass="keyword">val</span> analyze_with_biabduction : <span>(<span><ahref="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a> option</span>)</span><span>-></span><span><ahref="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a> option</span></code></dt><dd><p>Run biabduction with Topl instrumentation if active. Inserts calls to the TOPL automaton. Mutates the arguments: it is the caller's responsibility to instrument procedures at most once.</p></dd></dl><dl><dtclass="spec value"id="val-analyze_with_pulse"><ahref="#val-analyze_with_pulse"class="anchor"></a><code><spanclass="keyword">val</span> analyze_with_pulse : <span>(<span><ahref="../../Pulselib/PulseSummary/index.html#type-t">Pulselib.PulseSummary.t</a><ahref="../../Absint/InterproceduralAnalysis/index.htm