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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CallbackOfChecker (infer.Backend.CallbackOfChecker)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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">Backend</a> &#x00BB; CallbackOfChecker</nav><h1>Module <code>Backend.CallbackOfChecker</code></h1></header><aside><p>Conversions from checkers taking &quot;functional&quot; <span class="xref-unresolved" title="unresolved reference to &quot;Interprocedural.t&quot;"><code>Interprocedural</code>.t</span> et al. payloads to <a href="../Callbacks/index.html#type-proc_callback_t"><code>Callbacks.proc_callback_t</code></a> and friends.</p></aside><dl><dt class="spec value" id="val-mk_interprocedural_field_t"><a href="#val-mk_interprocedural_field_t" class="anchor"></a><code><span class="keyword">val</span> mk_interprocedural_field_t : <span><span>(<a href="../Payloads/index.html#type-t">Payloads.t</a>, <span><span class="type-var">'payload</span> option</span>)</span> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Field.t</span> <span>&#45;&gt;</span> <a href="../../Absint/Exe_env/index.html#type-t">Absint.Exe_env.t</a> <span>&#45;&gt;</span> <a href="../Summary/index.html#type-t">Summary.t</a> <span>&#45;&gt;</span> <span>?&#8288;tenv:<a href="../../IR/Tenv/index.html#type-t">IR.Tenv.t</a></span> <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <span><span class="type-var">'payload</span> <a href="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span> * <span><a href="../Summary/Stats/index.html#type-t">Summary.Stats.t</a> <a href="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.ref</span></code></dt><dt class="spec value" id="val-interprocedural"><a href="#val-interprocedural" class="anchor"></a><code><span class="keyword">val</span> interprocedural : <span>f_analyze_dep:<span>(<a href="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> <span>&#45;&gt;</span> <span class="type-var">'payloads_orig</span> <span>&#45;&gt;</span> <span><span>(<a href="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> * <span class="type-var">'payloads</span>)</span> option</span>)</span></span> <span>&#45;&gt;</span> <span>f_analyze_pdesc_dep:<span>(<span class="type-var">'payloads_orig</span> <span>&#45;&gt;</span> <span><span class="type-var">'payloads</span> option</span>)</span></span> <span>&#45;&gt;</span> <span>get_payload:<span>(<a href="../Payloads/index.html#type-t">Payloads.t</a> <span>&#45;&gt;</span> <span class="type-var">'payloads_orig</span>)</span></span> <span>&#45;&gt;</span> <span>set_payload:<span>(<a href="../Payloads/index.html#type-t">Payloads.t</a> <span>&#45;&gt;</span> <span class="type-var">'payload_checker</span> <span>&#45;&gt;</span> <a href="../Payloads/index.html#type-t">Payloads.t</a>)</span></span> <span>&#45;&gt;</span> <span>(<span><span class="type-var">'payloads</span> <a href="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span> <span>&#45;&gt;</span> <span class="type-var">'payload_checker</span>)</span> <span>&#45;&gt;</span> <a href="../Callbacks/index.html#type-proc_callback_t">Callbacks.proc_callback_t</a></code></dt><dd><p>the general form of interprocedural checkers: can read and update several payloads, and massage analysis results (mostly used to join option types)</p></dd></dl><dl><dt class="spec value" id="val-interprocedural_with_field"><a href="#val-interprocedural_with_field" class="anchor"></a><code><span class="keyword">val</span> interprocedural_with_field : <span><span>(<a href="../Payloads/index.html#type-t">Payloads.t</a>, <span><span class="type-var">'payload</span> option</span>)</span> <a href="../../IStdlib/index.ht