You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3 lines
6.9 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferIR__Var (InferIR.InferIR__Var)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> &mdash; <span class="package">package <a href="../index.html">InferIR</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferIR__Var</span></h1></header><p>Single abstraction for all the kinds of variables in SIL</p><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code><span class="keyword"> = </span><span class="keyword">private </span></code><table class="variant"><tr id="type-t.LogicalVar" class="anchored"><td class="def constructor"><a href="#type-t.LogicalVar" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">LogicalVar</span><span class="keyword"> of </span><a href="../InferIR/Ident/index.html#type-t">InferIR.Ident.t</a></code></td></tr><tr id="type-t.ProgramVar" class="anchored"><td class="def constructor"><a href="#type-t.ProgramVar" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">ProgramVar</span><span class="keyword"> of </span><a href="../InferIR/Pvar/index.html#type-t">InferIR.Pvar.t</a></code></td></tr></table><code></code></div><div class="doc"></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-equal"><a href="#val-equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>equal : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-compare_modulo_this"><a href="#val-compare_modulo_this" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_modulo_this : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div><div class="spec val" id="val-of_id"><a href="#val-of_id" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_id : <a href="../InferIR/Ident/index.html#type-t">InferIR.Ident.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-of_pvar"><a href="#val-of_pvar" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_pvar : <a href="../InferIR/Pvar/index.html#type-t">InferIR.Pvar.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-of_formal_index"><a href="#val-of_formal_index" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_formal_index : int <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Create a variable representing the ith formal of the current procedure</p></div></div><div class="spec val" id="val-to_exp"><a href="#val-to_exp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_exp : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-is_global"><a href="#val-is_global" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_global : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_return"><a href="#val-is_return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_return : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_footprint"><a href="#val-is_footprint" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_footprint : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-appears_in_source_code"><a href="#val-appears_in_source_code" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>appears_in_source_code : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"><p>return true if this variable appears in source code (i.e., is not a LogicalVar or a
frontend-generated ProgramVar)</p></div></div><div class="spec val" id="val-is_cpp_temporary"><a href="#val-is_cpp_temporary" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_cpp_temporary : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-get_footprint_index"><a href="#val-get_footprint_index" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_footprint_index : <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> int option</code></div><div class="doc"></div></div><div class="spec val" id="val-pp"><a href="#val-pp" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp : Format.formatter <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> unit</code></div><div class="doc"></div></div><div class="spec module" id="module-Map"><a href="#module-Map" class="anchor"></a><div class="def module"><code><span class="keyword">module </span>Map : <a href="../../InferStdlib/InferStdlib/PrettyPrintable/index.html#module-type-PPMap">InferStdlib.PrettyPrintable.PPMap</a><span class="keyword"> with </span><span class="keyword">type </span><a href="../../InferStdlib/InferStdlib/PrettyPrintable/index.html#module-type-PPMap">PPMap</a>.key<span class="keyword"> = </span><a href="index.html#type-t">t</a></code></div><div class="doc"></div></div></body></html>