<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>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>»<ahref="../index.html">Backend</a>» 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 <ahref="../Callbacks/index.html#type-proc_callback_t"><code>Callbacks.proc_callback_t</code></a> 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="../Payloads/index.html#type-t">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="../Summary/index.html#type-t">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="../Summary/Stats/index.html#type-t">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>get_payload:<span>(<ahref="../Payloads/index.html#type-t">Payloads.t</a><span>-></span><spanclass="type-var">'payloads_orig</span>)</span></span><span>-></span><span>set_payload:<span>(<ahref="../Payloads/index.html#type-t">Payloads.t</a><span>-></span><spanclass="type-var">'payload_checker</span><span>-></span><ahref="../Payloads/index.html#type-t">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="../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><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="../Payloads/index.html#type-t">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><span>(<span><spanclass="type-var">'payload</span><ahref="../../Absint/InterproceduralAnalysis/index.html#type-t">Absint.Inte