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.

2 lines
7.0 KiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>InferModules__AnnotatedSignature (infer.InferModules__AnnotatedSignature)</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">infer</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferModules__AnnotatedSignature</span></h1></header><p>Method signature with annotations.</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></code><code>{</code><table class="record"><tr id="type-t.ret" class="anchored"><td class="def field"><a href="#type-t.ret" class="anchor"></a><code>ret : <a href="../../InferIR/InferIR/Annot/Item/index.html#type-t">InferIR.Annot.Item.t</a><span class="keyword"> * </span><a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>;</code></td><td class="doc"><p>(** Annotated return type. *)</p></td></tr><tr id="type-t.params" class="anchored"><td class="def field"><a href="#type-t.params" class="anchor"></a><code>params : (<a href="../../InferIR/InferIR/Mangled/index.html#type-t">InferIR.Mangled.t</a><span class="keyword"> * </span><a href="../../InferIR/InferIR/Annot/Item/index.html#type-t">InferIR.Annot.Item.t</a><span class="keyword"> * </span><a href="../../InferIR/InferIR/Typ/index.html#type-t">InferIR.Typ.t</a>) list;</code></td><td class="doc"><p>(** Annotated parameters. *)</p></td></tr></table><code>}</code><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 type" id="type-annotation"><a href="#type-annotation" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>annotation</code><code></code><code><span class="keyword"> = </span></code><table class="variant"><tr id="type-annotation.Nullable" class="anchored"><td class="def constructor"><a href="#type-annotation.Nullable" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Nullable</span></code></td></tr><tr id="type-annotation.Present" class="anchored"><td class="def constructor"><a href="#type-annotation.Present" class="anchor"></a><code><span class="keyword">| </span></code><code><span class="constructor">Present</span></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_annotation"><a href="#val-compare_annotation" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare_annotation : <a href="index.html#type-annotation">annotation</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-annotation">annotation</a> <span class="keyword">&#8209;&gt;</span> int</code></div><div class="doc"></div></div></details></div><div class="spec val" id="val-param_has_annot"><a href="#val-param_has_annot" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>param_has_annot : (<a href="../../InferIR/InferIR/Annot/Item/index.html#type-t">InferIR.Annot.Item.t</a> <span class="keyword">&#8209;&gt;</span> bool) <span class="keyword">&#8209;&gt;</span> <a href="../../InferIR/InferIR/Pvar/index.html#type-t">InferIR.Pvar.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"><p>Check if the given parameter has an annotation in the given signature</p></div></div><div class="spec val" id="val-mark"><a href="#val-mark" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mark : <a href="../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-annotation">annotation</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> (bool<span class="keyword"> * </span>bool list) <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Mark the annotated signature with the given annotation map.</p></div></div><div class="spec val" id="val-mark_return"><a href="#val-mark_return" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mark_return : <a href="index.html#type-annotation">annotation</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Mark the return of the annotated signature with the given annotation.</p></div></div><div class="spec val" id="val-get"><a href="#val-get" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get : <a href="../../InferIR/InferIR/ProcAttributes/index.html#type-t">InferIR.ProcAttributes.t</a> <span class="keyword">&#8209;&gt;</span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Get a method signature with annotations from a proc_attributes.</p></div></div><div class="spec val" id="val-mk_ia"><a href="#val-mk_ia" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>mk_ia : <a href="index.html#type-annotation">annotation</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferIR/InferIR/Annot/Item/index.html#type-t">InferIR.Annot.Item.t</a> <span class="keyword">&#8209;&gt;</span> <a href="../../InferIR/InferIR/Annot/Item/index.html#type-t">InferIR.Annot.Item.t</a></code></div><div class="doc"><p>Add the annotation to the item_annotation.</p></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 : <a href="../../InferIR/InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span class="keyword">&#8209;&gt;</span> 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"><p>Pretty print a method signature with annotations.</p></div></div></body></html>