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>AnalysisCallbacks (infer.Absint.AnalysisCallbacks)</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">Absint</a>» AnalysisCallbacks</nav><h1>Module <code>Absint.AnalysisCallbacks</code></h1><navclass="toc"><ul><li><ahref="#analysis-api">Analysis API</a></li><li><ahref="#callbacks-management">Callbacks management</a></li></ul></nav></header><section><header><h3id="analysis-api"><ahref="#analysis-api"class="anchor"></a>Analysis API</h3></header><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>set to <code>Ondemand.get_proc_desc</code></p></dd></dl><dl><dtclass="spec value"id="val-html_debug_new_node_session"><ahref="#val-html_debug_new_node_session"class="anchor"></a><code><spanclass="keyword">val</span> html_debug_new_node_session : <span>?⁠kind:<span>[ `ComputePre <span>| `ExecNode</span><span>| `ExecNodeNarrowing</span><span>| `WTO</span> ]</span></span><span>-></span><span>pp_name:<span>(Stdlib.Format.formatter <span>-></span> unit)</span></span><span>-></span><ahref="../../IR/Procdesc/Node/index.html#type-t">IR.Procdesc.Node.t</a><span>-></span><span>f:<span>(unit <span>-></span><spanclass="type-var">'a</span>)</span></span><span>-></span><spanclass="type-var">'a</span></code></dt><dd><p>set to <code>NodePrinter.with_session</code></p></dd></dl><dl><dtclass="spec value"id="val-proc_resolve_attributes"><ahref="#val-proc_resolve_attributes"class="anchor"></a><code><spanclass="keyword">val</span> proc_resolve_attributes : <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>set to <code>Summary.OnDisk.proc_resolve_attributes</code></p></dd></dl></section><section><header><h3id="callbacks-management"><ahref="#callbacks-management"class="anchor"></a>Callbacks management</h3></header><dl><dtclass="spec type"id="type-callbacks"><ahref="#type-callbacks"class="anchor"></a><code><spanclass="keyword">type</span> callbacks</code><code> = </code><code>{</code><tableclass="record"><trid="type-callbacks.get_proc_desc_f"class="anchored"><tdclass="def field"><ahref="#type-callbacks.get_proc_desc_f"class="anchor"></a><code>get_proc_desc_f : <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></td></tr><trid="type-callbacks.html_debug_new_node_session_f"class="anchored"><tdclass="def field"><ahref="#type-callbacks.html_debug_new_node_session_f"class="anchor"></a><code>html_debug_new_node_session_f : a. <span>?⁠kind:<span>[ `ComputePre <span>| `ExecNode</span><span>| `ExecNodeNarrowing</span><span>| `WTO</span> ]</span></span><span>-></span><span>pp_name:<span>(Stdlib.Format.formatter <span>-></span> unit)</span></span><span>-></span><ahref="../../IR/Procdesc/Node/index.html#type-t">IR.Procdesc.Node.t</a><span>-></span><span>f:<span>(unit <span>-></span><spanclass="type-var">'a</span>)</span></span><span>-></span><spanclass="type-var">'a</span>;</code></td></tr><trid="type-callbacks.proc_resolve_attributes_f"class="anchored"><tdclass="def field"><ahref="#type-callbacks.proc_resolve_attributes_f"class="anchor"></a><code>proc_resolve_attributes_f : <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></td></tr></table><code>}</code></dt><dd><p>These callbacks are used to break the dependency cycles between some modules. Specifically, we put here functions needed for the analysis that depend on modules higher up the dependency graph than this library but whose type does not.</p></dd></dl><dl><dtclass="spec value"id="val-set_callbacks"><ahref="#val-set_callbacks"class="anchor"></a><code><spanclass="keyword">val</span> set_callbacks : <ahref="index.html#type-callbacks">callbacks</a><span>-></span> unit</code></dt><dd><p>make sure this is called before starting any actual analysis</p></dd></dl></section></div></body></html>