<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Ondemand (infer.Backend.Ondemand)</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>» Ondemand</nav><h1>Module <code>Backend.Ondemand</code></h1></header><aside><p>Module for on-demand analysis.</p></aside><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>Find a proc desc for the procedure, perhaps loading it from disk.</p></dd></dl><dl><dtclass="spec value"id="val-analyze_proc_desc"><ahref="#val-analyze_proc_desc"class="anchor"></a><code><spanclass="keyword">val</span> analyze_proc_desc : <span>caller_summary:<ahref="../Summary/index.html#type-t">Summary.t</a></span><span>-></span><ahref="../../IR/Procdesc/index.html#type-t">IR.Procdesc.t</a><span>-></span><span><ahref="../Summary/index.html#type-t">Summary.t</a> option</span></code></dt><dd><p><code>analyze_proc_desc ~caller_summary callee_pdesc</code> performs an on-demand analysis of <code>callee_pdesc</code> triggered during the analysis of <code>caller_summary</code></p></dd></dl><dl><dtclass="spec value"id="val-analyze_proc_name"><ahref="#val-analyze_proc_name"class="anchor"></a><code><spanclass="keyword">val</span> analyze_proc_name : <span>caller_summary:<ahref="../Summary/index.html#type-t">Summary.t</a></span><span>-></span><ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><span><ahref="../Summary/index.html#type-t">Summary.t</a> option</span></code></dt><dd><p><code>analyze_proc_name ~caller_summary callee_pname</code> performs an on-demand analysis of <code>callee_pname</code> triggered during the analysis of <code>caller_summary</code></p></dd></dl><dl><dtclass="spec value"id="val-analyze_proc_name_no_caller"><ahref="#val-analyze_proc_name_no_caller"class="anchor"></a><code><spanclass="keyword">val</span> analyze_proc_name_no_caller : <ahref="../../IR/Procname/index.html#type-t">IR.Procname.t</a><span>-></span><span><ahref="../Summary/index.html#type-t">Summary.t</a> option</span></code></dt><dd><p><code>analyze_proc_name_no_caller callee_pname</code> performs an on-demand analysis of <code>callee_pname</code> triggered by the top-level of a file-level checker. This must not be used in any other context, as this will break incremental analysis.</p></dd></dl><dl><dtclass="spec value"id="val-set_exe_env"><ahref="#val-set_exe_env"class="anchor"></a><code><spanclass="keyword">val</span> set_exe_env : <ahref="../../Absint/Exe_env/index.html#type-t">Absint.Exe_env.t</a><span>-></span> unit</code></dt><dd><p>Set the execution enviroment used during on-demand analysis.</p></dd></dl><divclass="spec module"id="module-LocalCache"><ahref="#module-LocalCache"class="anchor"></a><code><spanclass="keyword">module</span><ahref="LocalCache/index.html">LocalCache</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><dl><dtclass="spec value"id="val-analyze_file"><ahref="#val-analyze_file"class="anchor"></a><code><spanclass="keyword">val</span> analyze_file : <ahref="../../Absint/Exe_env/index.html#type-t">Absint.Exe_env.t</a><span>-></span><ahref="../../IBase/SourceFile/index.html#type-t">IBase.SourceFile.t</a><span>-></span> unit</code></dt><dd><p>Invoke all the callbacks registered in <ahref="../Callbacks/index.html"><code>Callbacks</code></a> on the given