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
5.6 KiB

This file contains ambiguous Unicode characters!

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>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Topl (infer.TOPLlib.Topl)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.2"/><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; <a href="../index.html">TOPLlib</a> &#x00BB; Topl</nav><h1>Module <code>TOPLlib.Topl</code></h1></header><dl><dt class="spec value" id="val-automaton"><a href="#val-automaton" class="anchor"></a><code><span class="keyword">val</span> automaton : unit <span>&#45;&gt;</span> <a href="../ToplAutomaton/index.html#type-t">ToplAutomaton.t</a></code></dt><dd><p>Return the automaton representing all Topl properties.</p></dd></dl><dl><dt class="spec value" id="val-is_shallow_active"><a href="#val-is_shallow_active" class="anchor"></a><code><span class="keyword">val</span> is_shallow_active : unit <span>&#45;&gt;</span> bool</code></dt><dd><p>Return whether the Topl based on Sil instrumentation is active.</p></dd></dl><dl><dt class="spec value" id="val-is_deep_active"><a href="#val-is_deep_active" class="anchor"></a><code><span class="keyword">val</span> is_deep_active : unit <span>&#45;&gt;</span> bool</code></dt><dd><p>Return whether PulseTopl is active.</p></dd></dl><dl><dt class="spec value" id="val-get_proc_attr"><a href="#val-get_proc_attr" class="anchor"></a><code><span class="keyword">val</span> get_proc_attr : <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../../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><dt class="spec value" id="val-get_proc_desc"><a href="#val-get_proc_desc" class="anchor"></a><code><span class="keyword">val</span> get_proc_desc : <a href="../../IR/Procname/index.html#type-t">IR.Procname.t</a> <span>&#45;&gt;</span> <span><a href="../../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><dt class="spec value" id="val-sourcefile"><a href="#val-sourcefile" class="anchor"></a><code><span class="keyword">val</span> sourcefile : unit <span>&#45;&gt;</span> <a href="../../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><dt class="spec value" id="val-cfg"><a href="#val-cfg" class="anchor"></a><code><span class="keyword">val</span> cfg : unit <span>&#45;&gt;</span> <a href="../../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><dt class="spec type" id="type-analysis"><a href="#type-analysis" class="anchor"></a><code><span class="keyword">type</span> <span>'summary analysis</span></code><code> = <span><span class="type-var">'summary</span> <a href="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'summary</span> option</span></code></dt><dt class="spec type" id="type-postprocess"><a href="#type-postprocess" class="anchor"></a><code><span class="keyword">type</span> <span>'summary postprocess</span></code><code> = <span><span class="type-var">'summary</span> <a href="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span> <span>&#45;&gt;</span> <span class="type-var">'summary</span> <span>&#45;&gt;</span> unit</code></dt><dt class="spec type" id="type-analysis_transformer"><a href="#type-analysis_transformer" class="anchor"></a><code><span class="keyword">type</span> <span>'summary analysis_transformer</span></code><code> = <span><span class="type-var">'summary</span> <a href="index.html#type-analysis">analysis</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'summary</span> <a href="index.html#type-analysis">analysis</a></span></code></dt></dl><dl><dt class="spec value" id="val-analyze_with"><a href="#val-analyze_with" class="anchor"></a><code><span class="keyword">val</span> analyze_with : <span><span class="type-var">'summary</span> <a href="index.html#type-postprocess">postprocess</a></span> <span>&#45;&gt;</span> <span><span class="type-var">'summary</span> <a href="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><dt class="spec value" id="val-analyze_with_biabduction"><a href="#val-analyze_with_biabduction" class="anchor"></a><code><span class="keyword">val</span> analyze_with_biabduction : <span><a href="../../Biabduction/BiabductionSummary/index.html#type-t">Biabduction.BiabductionSummary.t</a> <a href="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>