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>Var (infer.IR.Var)</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">IR</a>» Var</nav><h1>Module <code>IR.Var</code></h1></header><aside><p>Single abstraction for all the kinds of variables in SIL</p></aside><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = <spanclass="keyword">private</span></code><tableclass="variant"><trid="type-t.LogicalVar"class="anchored"><tdclass="def constructor"><ahref="#type-t.LogicalVar"class="anchor"></a><code>| </code><code><spanclass="constructor">LogicalVar</span><spanclass="keyword">of</span><ahref="../Ident/index.html#type-t">Ident.t</a></code></td></tr><trid="type-t.ProgramVar"class="anchored"><tdclass="def constructor"><ahref="#type-t.ProgramVar"class="anchor"></a><code>| </code><code><spanclass="constructor">ProgramVar</span><spanclass="keyword">of</span><ahref="../Pvar/index.html#type-t">Pvar.t</a></code></td></tr></table></dt></dl><div><divclass="spec include"><divclass="doc"><dl><dtclass="spec value"id="val-compare"><ahref="#val-compare"class="anchor"></a><code><spanclass="keyword">val</span> compare : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt><dtclass="spec value"id="val-yojson_of_t"><ahref="#val-yojson_of_t"class="anchor"></a><code><spanclass="keyword">val</span> yojson_of_t : <ahref="index.html#type-t">t</a><span>-></span> Ppx_yojson_conv_lib.Yojson.Safe.t</code></dt></dl></div></div></div><dl><dtclass="spec value"id="val-equal"><ahref="#val-equal"class="anchor"></a><code><spanclass="keyword">val</span> equal : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-compare_modulo_this"><ahref="#val-compare_modulo_this"class="anchor"></a><code><spanclass="keyword">val</span> compare_modulo_this : <ahref="index.html#type-t">t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> int</code></dt><dtclass="spec value"id="val-of_id"><ahref="#val-of_id"class="anchor"></a><code><spanclass="keyword">val</span> of_id : <ahref="../Ident/index.html#type-t">Ident.t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-of_pvar"><ahref="#val-of_pvar"class="anchor"></a><code><spanclass="keyword">val</span> of_pvar : <ahref="../Pvar/index.html#type-t">Pvar.t</a><span>-></span><ahref="index.html#type-t">t</a></code></dt><dtclass="spec value"id="val-of_formal_index"><ahref="#val-of_formal_index"class="anchor"></a><code><spanclass="keyword">val</span> of_formal_index : int <span>-></span><ahref="index.html#type-t">t</a></code></dt><dd><p>Create a variable representing the ith formal of the current procedure</p></dd></dl><dl><dtclass="spec value"id="val-get_all_vars_in_exp"><ahref="#val-get_all_vars_in_exp"class="anchor"></a><code><spanclass="keyword">val</span> get_all_vars_in_exp : <ahref="../Exp/index.html#type-t">Exp.t</a><span>-></span><span><ahref="index.html#type-t">t</a><ahref="../../IStdlib/index.html#module-IStd">IStdlib.IStd</a>.Sequence.t</span></code></dt><dd><p>Get all free and program vars</p></dd></dl><dl><dtclass="spec value"id="val-to_exp"><ahref="#val-to_exp"class="anchor"></a><code><spanclass="keyword">val</span> to_exp : <ahref="index.html#type-t">t</a><span>-></span><ahref="../Exp/index.html#type-t">Exp.t</a></code></dt><dtclass="spec value"id="val-get_ident"><ahref="#val-get_ident"class="anchor"></a><code><spanclass="keyword">val</span> get_ident : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../Ident/index.html#type-t">Ident.t</a> option</span></code></dt><dtclass="spec value"id="val-get_pvar"><ahref="#val-get_pvar"class="anchor"></a><code><spanclass="keyword">val</span> get_pvar : <ahref="index.html#type-t">t</a><span>-></span><span><ahref="../Pvar/index.html#type-t">Pvar.t</a> option</span></code></dt><dtclass="spec value"id="val-is_global"><ahref="#val-is_global"class="anchor"></a><code><spanclass="keyword">val</span> is_global : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_local_to_procedure"><ahref="#val-is_local_to_procedure"class="anchor"></a><code><spanclass="keyword">val</span> is_local_to_procedure : <ahref="../Procname/index.html#type-t">Procname.t</a><span>-></span><ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_return"><ahref="#val-is_return"class="anchor"></a><code><spanclass="keyword">val</span> is_return : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_footprint"><ahref="#val-is_footprint"class="anchor"></a><code><spanclass="keyword">val</span> is_footprint : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_none"><ahref="#val-is_none"class="anchor"></a><code><spanclass="keyword">val</span> is_none : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-is_this"><ahref="#val-is_this"class="anchor"></a><code><spanclass="keyword">val</span> is_this : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-appears_in_source_code"><ahref="#val-appears_in_source_code"class="anchor"></a><code><spanclass="keyword">val</span> appears_in_source_code : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dd><p>return true if this variable appears in source code (i.e., is not a LogicalVar or a frontend-generated ProgramVar)</p></dd></dl><dl><dtclass="spec value"id="val-is_cpp_temporary"><ahref="#val-is_cpp_temporary"class="anchor"></a><code><spanclass="keyword">val</span> is_cpp_temporary : <ahref="index.html#type-t">t</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-get_footprint_index"><ahref="#val-get_footprint_index"class="anchor"></a><code><spanclass="keyword">val</span> get_footprint_index : <ahref="index.html#type-t">t</a><span>-></span><span>int option</span></code></dt><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : Stdlib.Format.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt></dl><divclass="spec module"id="module-Map"><ahref="#module-Map"class="anchor"></a><code><spanclass="keyword">module</span> Map : <ahref="../../IStdlib/PrettyPrintable/index.html#module-type-PPMap">IStdlib.PrettyPrintable.PPMap</a><spanclass="keyword">with</span><spanclass="keyword">type</span><ahref="../../IStdlib/PrettyPrintable/index.html#module-type-PPMap">PPMap</a>.key = <ahref="index.html#type-t">t</a></code></div></div></body></html>