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>TOPLlib__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>» TOPLlib__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.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Pulselib/PulseSummary/index.html#type-t">Pulselib.PulseSummary.t</a> option</span>)</span><span>-></span><span><ahref="../Pulselib/PulseSummary/index.html#type-t">Pulselib.PulseSummary.t</a><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><span><ahref="../Pulselib/PulseSummary/index.html#type-t">Pulselib.PulseSummary.t</a> option</span></code></dt><dd><p>Run pulse 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></div></body></html>