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>IR__Annot (infer.IR__Annot)</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>» IR__Annot</nav><h1>Module <code>IR__Annot</code></h1><p>The Smallfoot Intermediate Language: Annotations</p></header><divclass="spec module"id="module-F"><ahref="#module-F"class="anchor"></a><code><spanclass="keyword">module</span> F = Stdlib.Format</code></div><dl><dtclass="spec type"id="type-t"><ahref="#type-t"class="anchor"></a><code><spanclass="keyword">type</span> t</code><code> = </code><code>{</code><tableclass="record"><trid="type-t.class_name"class="anchored"><tdclass="def field"><ahref="#type-t.class_name"class="anchor"></a><code>class_name : string;</code></td><tdclass="doc"><p>name of the annotation</p></td></tr><trid="type-t.parameters"class="anchored"><tdclass="def field"><ahref="#type-t.parameters"class="anchor"></a><code>parameters : <span><ahref="index.html#type-parameter">parameter</a> list</span>;</code></td></tr></table><code>}</code></dt><dd><p>Type to represent an <code>@Annotation</code> with potentially complex parameter values such as arrays or other annotations.</p></dd></dl><dl><dtclass="spec type"id="type-parameter"><ahref="#type-parameter"class="anchor"></a><code><spanclass="keyword">and</span> parameter</code><code> = </code><code>{</code><tableclass="record"><trid="type-parameter.name"class="anchored"><tdclass="def field"><ahref="#type-parameter.name"class="anchor"></a><code>name : <span>string option</span>;</code></td></tr><trid="type-parameter.value"class="anchored"><tdclass="def field"><ahref="#type-parameter.value"class="anchor"></a><code>value : <ahref="index.html#type-value">value</a>;</code></td></tr></table><code>}</code></dt><dtclass="spec type"id="type-value"><ahref="#type-value"class="anchor"></a><code><spanclass="keyword">and</span> value</code><code> = </code><tableclass="variant"><trid="type-value.Str"class="anchored"><tdclass="def constructor"><ahref="#type-value.Str"class="anchor"></a><code>| </code><code><spanclass="constructor">Str</span><spanclass="keyword">of</span> string</code></td></tr><trid="type-value.Bool"class="anchored"><tdclass="def constructor"><ahref="#type-value.Bool"class="anchor"></a><code>| </code><code><spanclass="constructor">Bool</span><spanclass="keyword">of</span> bool</code></td></tr><trid="type-value.Enum"class="anchored"><tdclass="def constructor"><ahref="#type-value.Enum"class="anchor"></a><code>| </code><code><spanclass="constructor">Enum</span><spanclass="keyword">of</span></code><code>{</code><tableclass="record"><trid="type-value.class_typ"class="anchored"><tdclass="def field"><ahref="#type-value.class_typ"class="anchor"></a><code>class_typ : <ahref="../IR/Typ/index.html#type-t">IR.Typ.t</a>;</code></td></tr><trid="type-value.value"class="anchored"><tdclass="def field"><ahref="#type-value.value"class="anchor"></a><code>value : string;</code></td></tr></table><code>}</code></td></tr><trid="type-value.Array"class="anchored"><tdclass="def constructor"><ahref="#type-value.Array"class="anchor"></a><code>| </code><code><spanclass="constructor">Array</span><spanclass="keyword">of</span><span><ahref="index.html#type-value">value</a> list</span></code></td></tr><trid="type-value.Class"class="anchored"><tdclass="def constructor"><ahref="#type-value.Class"class="anchor"></a><code>| </code><code><spanclass="constructor">Class</span><spanclass="keyword">of</span><ahref="../IR/Typ/index.html#type-t">IR.Typ.t</a></code></td></tr><trid="type-value.Annot"class="anchored"><tdclass="def constructor"><ahref="#type-value.Annot"class="anchor"></a><code>| </code><code><spanclass="constructor">Annot</span><spanclass="keyword">of</span><ahref="index.html#type-t">t</a></code></td></tr></table></dt><dd><p>Type to represent possible annotation parameter values. Note that support for numeric parameters is missing for now due to an issue with <code>MaximumSharing</code> and <code>int64</code>.</p></dd></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-compare_parameter"><ahref="#val-compare_parameter"class="anchor"></a><code><spanclass="keyword">val</span> compare_parameter : <ahref="index.html#type-parameter">parameter</a><span>-></span><ahref="index.html#type-parameter">parameter</a><span>-></span> int</code></dt><dtclass="spec value"id="val-compare_value"><ahref="#val-compare_value"class="anchor"></a><code><spanclass="keyword">val</span> compare_value : <ahref="index.html#type-value">value</a><span>-></span><ahref="index.html#type-value">value</a><span>-></span> int</code></dt><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-equal_parameter"><ahref="#val-equal_parameter"class="anchor"></a><code><spanclass="keyword">val</span> equal_parameter : <ahref="index.html#type-parameter">parameter</a><span>-></span><ahref="index.html#type-parameter">parameter</a><span>-></span> bool</code></dt><dtclass="spec value"id="val-equal_value"><ahref="#val-equal_value"class="anchor"></a><code><spanclass="keyword">val</span> equal_value : <ahref="index.html#type-value">value</a><span>-></span><ahref="index.html#type-value">value</a><span>-></span> bool</code></dt><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-compare_parameter"><ahref="#val-compare_parameter"class="anchor"></a><code><spanclass="keyword">val</span> compare_parameter : <ahref="index.html#type-parameter">parameter</a><span>-></span><ahref="index.html#type-parameter">parameter</a><span>-></span> int</code></dt><dtclass="spec value"id="val-compare_value"><ahref="#val-compare_value"class="anchor"></a><code><spanclass="keyword">val</span> compare_value : <ahref="index.html#type-value">value</a><span>-></span><ahref="index.html#type-value">value</a><span>-></span> int</code></dt></dl></div></div></div><dl><dtclass="spec value"id="val-volatile"><ahref="#val-volatile"class="anchor"></a><code><spanclass="keyword">val</span> volatile : <ahref="index.html#type-t">t</a></code></dt><dd><p>annotation for fields marked with the "volatile" keyword</p></dd></dl><dl><dtclass="spec value"id="val-final"><ahref="#val-final"class="anchor"></a><code><spanclass="keyword">val</span> final : <ahref="index.html#type-t">t</a></code></dt><dd><p>annotation for fields marked with the "final" keyword</p></dd></dl><dl><dtclass="spec value"id="val-has_matching_str_value"><ahref="#val-has_matching_str_value"class="anchor"></a><code><spanclass="keyword">val</span> has_matching_str_value : <span>pred:<span>(string <span>-></span> bool)</span></span><span>-></span><ahref="index.html#type-value">value</a><span>-></span> bool</code></dt><dd><p>Check if annotation parameter value contains a string satisfying a predicate. For convenience it works both with raw <code>Str</code> and <code>Str</code> inside <code>Array</code>.</p></dd></dl><dl><dtclass="spec value"id="val-find_parameter"><ahref="#val-find_parameter"class="anchor"></a><code><spanclass="keyword">val</span> find_parameter : <ahref="index.html#type-t">t</a><span>-></span><span>name:string</span><span>-></span><span><ahref="index.html#type-value">value</a> option</span></code></dt><dtclass="spec value"id="val-pp"><ahref="#val-pp"class="anchor"></a><code><spanclass="keyword">val</span> pp : <ahref="index.html#module-F">F</a>.formatter <span>-></span><ahref="index.html#type-t">t</a><span>-></span> unit</code></dt><dd><p>Pretty print an annotation.</p></dd></dl><divclass="spec module"id="module-Item"><ahref="#module-Item"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Item/index.html">Item</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module"id="module-Class"><ahref="#module-Class"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Class/index.html">Class</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div><divclass="spec module"id="module-Method"><ahref="#module-Method"class="anchor"></a><code><spanclass="keyword">module</span><ahref="Method/index.html">Method</a> : <spanclass="keyword">sig</span> ... <spanclass="keyword">end</span></code></div></div></body></html>