<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Backend__CallbackOfChecker (infer.Backend__CallbackOfChecker)</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>» Backend__CallbackOfChecker</nav><h1>Module <code>Backend__CallbackOfChecker</code></h1></header><aside><p>Conversions from checkers taking "functional"<spanclass="xref-unresolved"title="unresolved reference to "Interprocedural.t""><code>Interprocedural</code>.t</span> et al. payloads to <spanclass="xref-unresolved"title="unresolved reference to "Callbacks.proc_callback_t""><code>Callbacks</code>.proc_callback_t</span> and friends.</p></aside><dl><dtclass="spec value"id="val-mk_interprocedural_field_t"><ahref="#val-mk_interprocedural_field_t"class="anchor"></a><code><spanclass="keyword">val</span> mk_interprocedural_field_t : <span><span>(<ahref="../Backend/Payloads/index.html#type-t">Backend.Payloads.t</a>,<span><spanclass="type-var">'payload</span> option</span>)</span><ahref="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Field.t</span><span>-></span><ahref="../Absint/Exe_env/index.html#type-t">Absint.Exe_env.t</a><span>-></span><ahref="../Backend/Summary/index.html#type-t">Backend.Summary.t</a><span>-></span><span>?⁠tenv:<ahref="../IR/Tenv/index.html#type-t">IR.Tenv.t</a></span><span>-></span> unit <span>-></span><span><spanclass="type-var">'payload</span><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span> * <span><ahref="../Backend/Summary/Stats/index.html#type-t">Backend.Summary.Stats.t</a><ahref="../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.ref</span></code></dt><dtclass="spec value"id="val-interprocedural"><ahref="#val-interprocedural"class="anchor"></a><code><spanclass="keyword">val</span> interprocedural : <span>f_analyze_dep:<span>(<ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a><span>-></span><spanclass="type-var">'payloads_orig</span><span>-></span><span><span>(<ahref="../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a> * <spanclass="type-var">'payloads</span>)</span> option</span>)</span></span><span>-></span><span>f_analyze_pdesc_dep:<span>(<spanclass="type-var">'payloads_orig</span><span>-></span><span><spanclass="type-var">'payloads</span> option</span>)</span></span><span>-></span><span>get_payload:<span>(<ahref="../Backend/Payloads/index.html#type-t">Backend.Payloads.t</a><span>-></span><spanclass="type-var">'payloads_orig</span>)</span></span><span>-></span><span>set_payload:<span>(<ahref="../Backend/Payloads/index.html#type-t">Backend.Payloads.t</a><span>-></span><spanclass="type-var">'payload_checker</span><span>-></span><ahref="../Backend/Payloads/index.html#type-t">Backend.Payloads.t</a>)</span></span><span>-></span><span>(<span><spanclass="type-var">'payloads</span><ahref="../Absint/InterproceduralAnalysis/index.html#type-t">Absint.InterproceduralAnalysis.t</a></span><span>-></span><spanclass="type-var">'payload_checker</span>)</span><span>-></span><ahref="../Backend/Callbacks/index.html#type-proc_callback_t">Backend.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><dtclass="spec value"id="val-interprocedural_with_field"><ahref="#val-interprocedural_with_field"class="anchor"></a><code><spanclass="keyword">val</span> interprocedural_with_field : <span><span>(<ahref="../Backend/Payloads/index.html#type-t">Backe