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>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="spec type"id="type-analysis_transformer"><ahref="#type-analysis_transformer"class="anchor"></a><code><spanclass="keyword">type</span><span>'summary analysis_transformer</span></code><code> = <span><spanclass="type-var">'summary</span><ahref="index.html#type-analysis">analysis</a></span><span>-></span><span><spanclass="type-var">'summary</span><ahref="index.html#type-analysis">analysis</a></span></code></dt></dl><dl><dtclass="spec value"id="val-analyze_with"><ahref="#val-analyze_with"class="anchor"></a><code><spanclass="keyword">val</span> analyze_with : <span><spanclass="type-var">'summary</span><ahref="index.html#type-postprocess">postprocess</a></span><span>-></span><span><spanclass="type-var">'summary</span><ahref="index.html#type-analysis_transformer">analysis_transformer</a></span></code></dt><dd><p><code>analyze_with analyze postprocess analysis_data</code> calls <code>analyze</code> and then <code>postprocess</code> on <code>analysis_data</code></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><ahref="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a><ahref="index.html#type-analysis_transformer">analysis_transformer</a></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></div></body></html>